前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >几个 String 的知识点

几个 String 的知识点

作者头像
潇洒
发布2019-06-28 10:47:22
3020
发布2019-06-28 10:47:22
举报
文章被收录于专栏:石头岛

String 类

不可变字符对象。 所以每次String对象的改变实际是创建了一个新对象。 String 是 final 的也不能被继承。

代码语言:javascript
复制
String test1 = new String("ABCD");
String test2 = "ABCD";	//通过字符串常量创建一个String对象。
String test3 = "ABCD";
test3 += "EFGH";	     //创建了一个新的String对象。
StringBuilder test4 = new StringBuilder(test3);

System.out.println(test1==test2);
System.out.println(test1.equals(test2));

由于String每次相加时都是创建一个新对象,所以尽量避免创建大是的String对象。比如:

代码语言:javascript
复制
for (int i = 0; i < 1000; i++) {
	test1 += test1;
}

如果非得用这种方式的话,尽量用StringBuild来创建。

代码语言:javascript
复制
for (int i = 0; i < 1000; i++) {
	test4.append("xxxx");
}

防乱码处现

如果IO流中有泛及到中文,那肯定有乱码问题。处现方式:

代码语言:javascript
复制
if("teachername".equals(fileItem.getFieldName())){
		String value = fileItem.getString();
		teacherName = new String(value.getBytes("ISO-8859-1"),"UTF-8");
}

空窜注意

在使用split切割后判断字符串空串时,要注意,” “一个空格不能用一个空格” “来判断,而是用”” 无任何空格的空串来进行判断才能成功。便是单个string判断空串确没有问题???

代码语言:javascript
复制
String str = "aa bb   ccc       ddd";
		String[] newStr = str.split(" ");
		System.out.println(Arrays.toString(newStr));
		for(String str2 : newStr){
			if(!"".equals(str2)){
				System.out.println(str2);
			}
}
代码语言:javascript
复制
结果:
[aa, bb, , , ccc, , , , , , , ddd]
aa
bb
ccc
ddd
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • String 类
  • 防乱码处现
  • 空窜注意
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档