当前位置: 移动技术网 > IT编程>开发语言>Java > Java之String

Java之String

2019年05月27日  | 移动技术网IT编程  | 我要评论

  string类是java类库中提供的一个预定义类,用来操作字符串。因为最近面试总会问到,特在此归纳总结。

  string是不可变的,因此用“+”进行字符串拼接的时候,实际上新建了一个字符串对象。string被修饰为final,所以是不可继承的。

  以下是string常用的方法。

  获取子串,substring(begin,end)

string s1 = "javajava";
string s = s1.substring(0,3);
system.out.println(s);//得到s的值为jav.

  将字符串转换为字符数组,tochararray()。

string s1 = "javajava";
char[] s = s1.tochararray();
for(int i = 0;i < s.length;i++) {
    system.out.print(s[i]);
}

  通过字符数组创建字符串。

char[] cs = new char[]{'c','+','+'};
string s = new string(cs);
system.out.print(s);//输出c++

  获取字符,charat(index)

string s1 = "javajava";
char c = s1.charat(2);
system.out.println(c);//得到c的值为v

  根据特定字符分割字符串,split(s),作为分隔符的字符不在结果中。

string s = "java,python";
string[] subs1 = s.split(",");
for(string sub : subs1) {
    system.out.println(sub);
}

  去掉收尾空格,trim()

string s = "      java,python     ";
string s1 = s.trim();
system.out.println(s);//有空格
system.out.println(s1);//无空格

  所有字母改为小写字母,tolowercase()。所有字母改为大写字母,touppercase()。

  返回字符串或字符首次出现的位置,indexof(s),返回字符串或字符最后出现的位置,lastindexof(),从位置index开始,字符或字符串出现的位置,indexof(s,index).

string s = "java,c++,go,python";
system.out.println(s.indexof(','));//4
system.out.println(s.indexof("go"));//9
system.out.println(s.indexof(",",5));//8
system.out.println(s.lastindexof(","));//11

  替换字符串,replace()和replaceall()都可以替换所有的,replacefirst()替换第一次出现的。

string s = "java,c++,java,python";
string s2 = s.replace("java", "go");
system.out.println(s2);//go,c++,go,python
string s3 = s.replaceall("java", "go");
system.out.println(s3);//go,c++,go,python
string s4 = s.replacefirst("java", "go");
system.out.println(s4);//go,c++,java,python

  比较两个字符串是否相等的方式是equals,忽略大小写为equalsignorecase,==比较的是两个字符串是否放在同一个位置上。前文已经说过,string是不可变的,不可变的优点之一就是字符串共享,假设已经有一个字符串为s1="java",这时建立一个字符串s3 = "java",判别s1 == s3的结果就是true,因为编译器发现已经有了一个“java”,就不会再新建,而是直接拿来使用。

string s1 = "java";
string s2 = new string(s1);
string s3 = "java";
system.out.println(s1.equals(s2));//true
system.out.println(s1 == s2);//false
system.out.println(s1 == s3);//true

  是否以子字符串开始或者结束,startswith(),endswith()

string s1 = "java";
system.out.println(s1.startswith("ja"));//true
system.out.println(s1.endswith("va"));//true

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网