Java基础面试:一文看懂String类中的常用方法
中秋佳节将近,大仙提前在这里祝大家节日快乐!
大仙也是准备输出最后一篇文章,准备休假了。本次文章介绍的是Java基础面试常问面试知识点String
- 1、int length(): 返回字符串的长度: return value.length
- 2、char charAt(int index): 返回某索引处的字符return value[index]
- 3、boolean isEmpty(): 判断是否是空字符串: return value.length == 0
String str = " HELLO world ";System.out.println(str.length());//13
System.out.println(str.charAt(0));//" "第一个空格
System.out.println(str.charAt(9));//r
System.out.println(str.isEmpty());//false
- 4、String toLowerCase(): 使用默认语言环境, 将 String 中的所有字符转换为小写
- 5、String toUpperCase(): 使用默认语言环境, 将 String 中的所有字符转换为大写
String str = " HELLO world ";String s1 = str.toLowerCase();//转换所有字符为---->小写
String s2 = str.toUpperCase();//转换所有字符为---->大写System.out.println(s1);//" hello world "
System.out.println(s2);//" HELLO WORLD "
System.out.println(str);//" HELLO world " 不改变原值
- 6、String trim(): 返回字符串的副本, 忽略前导空白和尾部空白
String str = " HELLO world ";String s3 = str.trim();//去除字符串首尾空格
System.out.println(s3);//"HELLO world"
- 7、boolean equals(Object obj): 比较字符串的内容是否相同
- 8、boolean equalsIgnoreCase(String anotherString): 与equals方法类似, 忽略大小写
String s1 = "HELLOWORLD";
String s2 = "helloworld";System.out.println(s1.equals(s2));//false
System.out.println(s1.equalsIgnoreCase(s2));//true 忽略大写小写比较
- 9、String concat(String str): 将指定字符串连接到此字符串的结尾。 等价于用“+”
String s3 = s1.concat("降龙十八掌");//连接字符串,等价于 “+”
System.out.println(s3);//HELLOWORLD降龙十八掌
- 10、int compareTo(String anotherString): 比较两个字符串的大小
String s4 = "abc";//97、98、99
String s5 = new String("abg");//97、98、103
System.out.println(s4.compareTo(s5));//-4 遇到相等跳过,遇到不同作差,输出
String s6 = "aag";//97、97、103
System.out.println(s4.compareTo(s6));//1
- 11、String substring(int beginIndex): 返回一个新的字符串, 它是此字符串的从beginIndex开始截取到最后的一个子字符串。
- 12、String substring(int beginIndex, int endIndex) : 返回一个新字符串, 它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。
String s7 = "降龙十八掌、六脉神剑、乾坤大挪移";
String s8 = s7.substring(6);//切片操作
String s9 = s7.substring(6,10);左闭右开[)System.out.println(s8);//六脉神剑、乾坤大挪移
System.out.println(s9);//六脉神剑
- 13、boolean endsWith(String suffix): 测试此字符串是否以指定的后缀结束
- 14、boolean startsWith(String prefix): 测试此字符串是否以指定的前缀开始
- 15、boolean startsWith(String prefix, int toffset): 测试此字符串从指定索引开始的子字符串是否以指定前缀开始
String s1 = "六脉神剑、九阳神功、一阳指";
boolean s2 = s1.startsWith("六"); //以xx开始
System.out.println(s2);//trueboolean s3 = s1.startsWith("九阳",5); //从第index处 以xx开始
System.out.println(s3);//trueboolean s4 = s1.endsWith("指"); //以xx结束
System.out.println(s4);//true
- 16、boolean contains(CharSequence s): 当且仅当此字符串包含指定的 char 值序列时,返回 true
String s1 = "六脉神剑、九阳神功、一阳指";String s5 = "九阳神功";
System.out.println(s1.contains(s5));//true
- 17、int indexOf(String str): 返回指定子字符串在此字符串中第一次出现处的索引
- 18、int indexOf(String str, int fromIndex): 返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
- 19、int lastIndexOf(String str): 返回指定子字符串在此字符串中最右边出现处的索引
- 20、int lastIndexOf(String str, int fromIndex): 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
注: indexOf和lastIndexOf方法如果未找到都是返回-1
String s1 = "六脉神剑、九阳神功、一阳指";System.out.println(s1.indexOf("神剑"));//2
System.out.println(s1.indexOf("神剑", 6));//-1
System.out.println(s1.lastIndexOf("神"));//7
System.out.println(s1.lastIndexOf("神", 5));//2
- 21、String replace(char oldChar, char newChar): 返回一个新的字符串, 它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
- 22、String replace(CharSequence target, CharSequence replacement): 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
String s1 = "六脉神剑、九阳神功、一阳指";
System.out.println(s1.replace("神", "鬼"));//六脉鬼剑、九阳鬼功、一阳指
- 23、String replaceAll(String regex, String replacement) : 使用给定的replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String str = "12hello34world5java7891mysql456";
//把字符串中的数字替换成 ","如果结果中开头和结尾有,的话去掉
String string = str.replaceAll("\\d+", ",").replaceAll("^,|,$", "");//正则表达式
System.out.println(string);
//hello,world,java,mysql
- 24、String replaceFirst(String regex, String replacement) : 使用给定的replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
String s1 = "六脉神剑、九阳神功、一阳指";
System.out.println(s1.replace("神", "鬼"));//六脉鬼剑、九阳鬼功、一阳指
String str = "1111AAAA2222BBBB999";
//把字符串中的数字替换成,,如果结果中开头和结尾有,的话去掉
String string = str.replaceFirst("\\d+", ",");
System.out.println(string);//,AAAA2222BBBB999
- 25、boolean matches(String regex): 告知此字符串是否匹配给定的正则表达式。
String str = "12345";
//判断str字符串中是否全部有数字组成,即有1-n个数字组成
boolean matches = str.matches("\\d+");
System.out.println(matches);//trueString tel = "0476-4534289";
//判断这是否是一个赤峰的固定电话
boolean result = tel.matches("0476-\\d{7,8}");
System.out.println(result);//true
- 26、String[] split(String regex): 根据给定正则表达式的匹配拆分此字符串。
- 27、String[] split(String regex, int limit): 根据匹配给定的正则表达式来拆分此字符串, 最多不超过limit个, 如果超过了, 剩下的全部都放到最后一个元素中。
String str = "hello|world|java";
String[] strs = str.split("\\|");
for (int i = 0; i < strs.length; i++) {System.out.print(strs[i] + "\t");
}
//hello world java
System.out.println();
String str2 = "hello.world.java";
String[] strs2 = str2.split("\\.",2);
for (int i = 0; i < strs2.length; i++) {System.out.print(strs2[i] + "\t");
}
//hello world.java
Java基础面试:一文看懂String类中的常用方法相关推荐
- 一文看懂String类中的常用方法
1.int length(): 返回字符串的长度: return value.length 2.char charAt(int index): 返回某索引处的字符return value[index] ...
- 【Python基础】一文看懂 Pandas 中的透视表
作者:来源于读者投稿 出品:Python数据之道 一文看懂 Pandas 中的透视表 透视表在一种功能很强大的图表,用户可以从中读取到很多的信息.利用excel可以生成简单的透视表.本文中讲解的是如何 ...
- Java基础篇(02):特殊的String类,和相关扩展API
本文源码:GitHub·点这里 || GitEE·点这里 一.String类简介 1.基础简介 字符串是一个特殊的数据类型,属于引用类型.String类在Java中使用关键字final修饰,所以这个类 ...
- Java基础系列24-常用api之String类
文章目录 一.String类概述 二.String类案例 2.1 String类4种常用构造方法 2.2 String类创建对象两种方式 2.3 String类练习之模拟用户登录 2.4 String ...
- String类中的常用方法
String类 一.转换成String方法 1.public String(); 空参构造 初始化一个新创建的 String 对象,使其表示一个空字符序列 2.public String(byte[] ...
- 【Java基本功】一文读懂String及其包装类的实现原理
String作为Java中最常用的引用类型,相对来说基本上都比较熟悉,无论在平时的编码过程中还是在笔试面试中,String都很受到青睐,然而,在使用String过程中,又有较多需要注意的细节之处. S ...
- java 序列化 uid_一文看懂Java序列化之serialVersionUID
serialVersionUID适用于Java的序列化机制.简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的 ...
- 基础不牢靠,何以争朝夕?Java基础面试82道详细解析(更新中)
题目的基本顺序是: 基本语法 类相关的语法 内部类的语法 继承相关的语法 异常的语法 线程的语法 集合的语法 io 的语法 虚拟机方面的语法 因文章篇幅的问题,本文分(一)(二)两篇进行讲解,知识点很 ...
- Java基础学习总结(144)——String类为什么要被定义为不可变类
分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程 问题:String类为什么要被定义为不可变类 String类被定义为final的主要 ...
最新文章
- Mercurial和Git有什么区别?
- MyBatis 翻页的几种方式和区别?
- permission denied和linux赋值权限chmod命令
- 附加作业:源自刘乾老师的问题
- P4548-[CTSC2006]歌唱王国【概率生成函数,KMP】
- 【阿里云 MVP 月度分享】宋亚奇——应用MaxCompute实现电力设备监测数据的批量特征分析...
- java xy,java – 某个z深度的xy位置
- linux那些事之 page translation(硬件篇)
- F28335中断系统
- C语言结构体所占用的字节数如何计算
- 国外问卷调查好做吗?
- 无线网卡SP-WL450U的驱动问题
- 量子计算机采用超导技术吗,新发现的超导体材料可能是量子计算机的硅
- RankNet学习思路+损函感悟+\pi \xu 学xi+交叉熵损函详
- 工厂机器安排(贪心算法)
- PyDev Eclipse使用技巧说明
- 如何通过神经网络实现XNOR函数?
- SAP xsengine 403 - Forbidden(The server refused to fulfill the request.)
- ubuntu中安装搜狗拼音输入法
- Windows10安装cuda总是显示“XXX为失败或者XXX未安装”