您的位置:首页 > 编程语言 > Java开发

在JAVA中关于String的相关总结

2014-02-23 14:03 337 查看
1.我们自代码中如何进行比较两个字符串?使用equals()方法还是用“==”?

RE:首先,我们应该了解到“==”和equals()的实质区别在哪里,“==”是用来比较两个对象的引用是否相同,而equals()是用来比较两个字符串的值是否相等;如果我们要检查两个字符串是否是同一个对象当然是要用“==”,比较两个字符串我们就应当用equals()方法来进行比较了。

例如:

if(str !=null && !str.equals("")){
//Your code
}

2.String和Int的相互转化?

RE:把字符串String转换为整数Int有两种方法:

1.)int i = Integer.parseInt([String]);

2.) i = Integer.parseInt([String],[int radix]);

把整数转换为字符串String有三种方法:

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;

3.如何将字符串用空白符进行分割开?

RE:那肯定是用正则表达式了,在正则表达式中“\s"表示空白符” “, “\t”, “\r”, “\n”.

例如:String[] strArray = strA.split(\\s+);

4.针对于安全性较高的数据信息,char[]为什么比String更好?

RE:因为在Java中String是不可变的,它一旦创建,就不能进行修改了,知道垃圾回收机制将其回收;而字符串数据组中的元素在使用完后是可以更改的,不会去保留原始的数据,所以在安全保密性高的信息就不会存在于系统之中不被他人看到。

5.String和StringBuilder和StringBuffer的区别?

RE:String是不可变的,它一旦创建,就不能进行修改了,知道垃圾回收机制将其回收;

StringBuilder是可变的,在创建之后仍然是可以更改他的值的;

StringBuffer是synchronized的,它是线程安全的的,但是比StringBuilder要慢。

6.如何去重复一个字符串?

RE:在Java中我们使用Apache Commons Lang包中的StringUtils.repeat()方法来重复一个字符串。

String str2 = "abc";
String repeated = StringUtils.repeat(str2,3);//输出“abcabcabc”

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息