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”