String类常用方法和类存分析

String类字符串为不可变字符序列。

1.Java中两种字符串初始化方法

String str1 = new String("abcd");
String str2 = new String("abcd");
String str3 = "def";
String str4 = "def";		
System.out.println(str2.equals(str1));//比较内容是否相等
System.out.println(str2 == str1);
System.out.println(str4.equals(str3));
System.out.println(str4 == str3);
两种初始化方式都是返回一个String对象,但是JVM的处理方式不同。


对于第一种,JVM会马上在堆中创建一个String对象,然后将该对象的引用返回给用户。对于第二种,JVM首先会在内部维护的strings pool中通过String的equels方法查找是对象池中是否存放有该String对象,如果有,则返回已有的String对象给用户,如果没有JVM则在堆中创建新的String对象,将其引用返回给用户,同时将该引用添加至strings pool中。

equals方法比较的是两个字符串的内容,属于内容比较。

“==”比较的是两个字符串内存地址的数值是否相等,属于数值比较。

2.字符串中的字符替换

String str5 = str3.replace('e', '*');
System.out.println(str5);
3.字符串中的分割

String str6 = "abcd,efgh,ijkl";
String[] strArray = str6.split(",");
for(int i=0;i<strArray.length;i++){
	System.out.println(strArray[i]);
}
4.字符串中的去掉首尾空格

String str7 = "  aa   bb   ";
String str77 = str7.trim();//去掉首尾空格
System.out.println(str77);
5.字符串中的忽略大小写

System.out.println("Abc".equalsIgnoreCase("abc"));//忽略大小写比较
6.字符串中的
System.out.println("Abcbd".indexOf('b'));
System.out.println("Abcbd".lastIndexOf('b'));
System.out.println("Abcbd".startsWith("Ab"));
System.out.println("Abcbd".endsWith("bd"));
System.out.println("Abcbd".toLowerCase());
System.out.println("Abcbd".toUpperCase());
7.字符串与数字进行运算

String str8 = "a";
for(int i=0;i<3;i++){
	str8 = str8 + i;
}
System.out.println(str8);
		
String str9 = new String("a");
for(int i=0;i<3;i++){
	str9 = str9 + i;
}
System.out.println(str9);//5个对象,太浪费空间
这两个的输出结果都是“a012”,但方式很大区别


第一种,每循环一次,str8所指向的字符串变动一次,分别指向“a”,“a0”,“a01”,“a012”。

第二种,初始化时会产生两个对象,这样对于循环次数过多的情况,会使得内存浪费。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值