Java中String类的用法
String类
在Java中字符串属于对象,属于引用数据类型,采用数组进行存储,String类在Java.lang包中,String类对象创建不能修改,由0或多个字符组成,内容包含在双引号之间。
1.String类的创建
最简单的创建类型如下:
也可以这样写:
String创建的字符串存储在字符池中,而new创建的字符串存储在堆中
2.String类中的常用方法
1.String.valueOf()
作用是将指定的其他类型数据,转化为字符串
结果输出为10
2.CharAt()
作用是返回对应字符
结果为A
3.toCharArray()
作用是返回对应字符数组
结果为ABC
4.split()
作用是分割字符串,返回一个分割后的字符串数组,注意有些特殊字符分割是split里的内容要加入\,如split("\$")
输出结果为:
你
真
好
看
5.indexOf()
作用是查找位置下标,在前加last作用是查找字符串的最后一次出现的位置
输出结果为5
6.subString()
作用是截取字符串
输出结果为CD
7.compareTo()
作用是比较两个字符串之间的大小,输出结果为正数则前者大于后者,输出结果为负数则后者大于前者,输出结果为0,则相等。
输出为-5
8.equals()
作用是比较字符串的内容是否一致,区分大小写,输出为false则代表两个字符串内容不一致,输出为true代表两个字符串内容一致
输出为true
9.startsWith()和endsWith()
作用是判断当前字符串是否以指定字符串"开头"/“结尾”,内容形式与8一致,输出结果为true或者false
10.trim()
作用是去除字符串两端空白
输出结果为ABCDE
11.toUpperCase()/toLowerCase()
作用是大小写的相互转化
输出结果为abcde
12.replace()
作用是替换字符串(全部)
输出结果为AbcDE
13.length()
作用是返回字符串长度
输出结果为5
3.String、StringBuffer、StringBuilder有什么区别
1.可变性
String中使用final关键字来修饰(char或byte)数组,所以String是不可变得。
StringBuilder和StringBuffer都继承自AbstractStringBuilder父类,在其中使用char[]value字符数组保存字符串,没有用final关键字来修饰,所以StringBuilder和StringBuffer都是可变得
2.性能
每次对String类型进行修改时,都会生成一个新的String对象,性能,内存开销都比较大。
StringBuilder和StringBuffer的操作是直接改变字符串对象本身,而不是新的对象,所以性能开销小。
注:StringBuilder线路不安全,但开销小性能高。
StringBuffer线路安全,但开销大性能低。
3.选择
字符串少量修改使用String
单线程频繁修改字符串使用StringBuilder
多线程频繁修改字符串使用StringBuffer