Java常用类String的面试题汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java常用类String的面试题汇总
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("\\s+");
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,三次重复.1
北大青鸟兰州优越校区的计算机培训,教授你最实用的技能,重视实际操作的能力,培养职业发展素质。来北大青鸟学计算机,节约时间,获得大收益!
高校教育,强调以人为本,推崇个体学习、个体能力。但在企业的实际工作中,团队合作才是非常重要的一环,这与高校的教育理念再一次发生碰撞。懂团队合作的人,才能在公司中更好的发展,而懂得如何让团队合作的人,才能走上领导的岗位。北大青鸟兰州优越提
供职业素质教育,为学员的可持续发展奠定基础。点击咨询