Java中String类的用法

Java中String类的用法

String类

在Java中字符串属于对象,属于引用数据类型,采用数组进行存储,String类在Java.lang包中,String类对象创建不能修改,由0或多个字符组成,内容包含在双引号之间。

1.String类的创建

最简单的创建类型如下:

String str = "ABC";

也可以这样写:

String str = new String("ABC");

String创建的字符串存储在字符池中,而new创建的字符串存储在堆中

2.String类中的常用方法

1.String.valueOf()
作用是将指定的其他类型数据,转化为字符串

int i = 10;
String str = String.valueOf(i);
System.out.println(str);

结果输出为10

2.CharAt()
作用是返回对应字符

String str = "ABC";
System.out.println(str.charAt(0));

结果为A

3.toCharArray()
作用是返回对应字符数组

String str = "ABC";
char[] chs = str.toCharArray();
System.out.println(chs);

结果为ABC

4.split()
作用是分割字符串,返回一个分割后的字符串数组,注意有些特殊字符分割是split里的内容要加入\,如split("\$")

String sourceStr = "你#真#好#看";
		String[] resultArray = sourceStr.split("#");
		for (String world : resultArray) {
			System.out.println(world);
		}

输出结果为:



5.indexOf()
作用是查找位置下标,在前加last作用是查找字符串的最后一次出现的位置

String str = "ABCDEFG";
int pos = str.indexOf("F");
System.out.println(pos);

输出结果为5

6.subString()
作用是截取字符串

String str = "ABCDE";
str10 = str.substring(2,4);
System.out.println(str);

输出结果为CD

7.compareTo()
作用是比较两个字符串之间的大小,输出结果为正数则前者大于后者,输出结果为负数则后者大于前者,输出结果为0,则相等。

String str1 = "ABCDE";
String str2 = "FDHSY";
System.out.println(str1.compareTo(str2));

输出为-5

8.equals()
作用是比较字符串的内容是否一致,区分大小写,输出为false则代表两个字符串内容不一致,输出为true代表两个字符串内容一致

String str3 = "ABCDE";
String str4 = "ABCDE";
System.out.println(str3.equals(str4));

输出为true

9.startsWith()和endsWith()
作用是判断当前字符串是否以指定字符串"开头"/“结尾”,内容形式与8一致,输出结果为true或者false

10.trim()
作用是去除字符串两端空白

String str5 = "    ABCDE   ";
System.out.println(str5.trim());

输出结果为ABCDE

11.toUpperCase()/toLowerCase()
作用是大小写的相互转化

String str5 = "ABCDE";
System.out.println(str5.toLowerCase());

输出结果为abcde

12.replace()
作用是替换字符串(全部)

String str6 = "ABCDE";
System.out.println(str6.replace("BC", "bc"));

输出结果为AbcDE

13.length()
作用是返回字符串长度

String str7 = "ABCDE";
int n =str7.length();
System.out.println(n);

输出结果为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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值