当前位置: 移动技术网 > IT编程>开发语言>Java > Java常用类String的面试题汇总(java面试题)

Java常用类String的面试题汇总(java面试题)

2019年07月22日  | 移动技术网IT编程  | 我要评论
1.比较两个字符串时使用“==”还是equals()方法? 当然是equals方法。“==”测试的是两个对象的引用是否相同,而equals()比较的是两个字符串的值是否相

1.比较两个字符串时使用“==”还是equals()方法?

当然是equals方法。“==”测试的是两个对象的引用是否相同,而equals()比较的是两个字符串的值是否相等。简单来说,基本数据类型都可以使用==。而引用类型使用==比较不了。

2.如何将字符串转化成int?

使用包装类integer。integer.valueof("2");其他基本数据类型都是类似

3.为什么在java中存储密码要使用char[],而不使用string。

因为string是不可变的,当string创建之后,就不会再改变了。而char[]是可变的,程序员在用完之后可以将其改变,不会留下任何原始数据。所以,在使用密码时,一般都是会用char数组,例如javaswing中的jpasswordfield,获取密码框的值就是使用char数据。而不使用string。

4.string可以在switch语句中使用吗?

jdk1.7之后确实可以了。之前不行。需要程序员对jdk升级的api有适当的了解。

5.如何将字符串用空白字符分割开

可以使用正则表达式来做到分割字符。“\s”代表空白字符” “, “\t”, “\r”, “\n”等等, string[] strarray = str.split("+");

6.substring()方法到底做了什么?

因为string是不可变的,所以在字符串截取时,substring做了一些工作。在jdk6时,用一个字符数组来表示现存的字符串,然后在这个字符数组中截取字符串,截取之后,并没有创建新的字符数组。而在jdk7中,截取的新的字符串是一个新的数组,这样效率更快一些。因为垃圾回收器会去回收不再使用的字符串。

7.如何将字符串转换成时间date?

使用simpledateformat sdf = new simpledateformat("yyyy-mm-dd");

date date =sdf.parse("2017-12-10");

8.字符串对象string,stringbuilder ,stringbuffer之间的区别?

string不可变的,其余两个为可变的,也就是可以自由增加或者删除字符串。

stringbuilder 和stringbuffer,前者是线程不安全的,后者是线程安全的。理论上stringbuilder 效率更高。

字符串大量拼接时,建议使用stringbuilder ,stringbuffer。

9.计算一个字符串某个字符的出现次数

a, 使用charat方法截取之后,循环判断.

b, 使用apache commons lang包中的stringutils:

int n = stringutils.countmatches("ababababab", "a");
system.out.println(n);

10.如何使一个字符串重复n次。

api提供了一个非常好的方法。string str = "ab";

string repeated = stringutils.repeat(str,3);//输出的结果是ababab,三次重复.

以上所述是小编给大家介绍的java常用类string的面试题汇总(java面试题),希望对大家有所帮助

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网