伙伴们注意了!
小编在这里给大家送上关注福利:
搜索微信号“suxueJava”即可领取小编精心准备的资料一份!
以下是关于Java字符串的10个常见问题。
1.如何比较字符串?使用“==”或使用equals()?
简单地说,“==”测试引用是否相等,而equals()测试值是否相等。
除非您想检查两个字符串是否是相同的对象,否则应该始终使用equals()。
如果你知道字符串实习的概念就更好了。
2. 为什么对于安全敏感信息,char[]优先于String ?
字符串是不可变的,这意味着一旦创建了它们,它们将保持不变,直到垃圾收集器开始工作。
对于数组,可以显式地更改其元素。
这样,安全敏感信息(例如:
密码)将不会出现在系统的任何地方。
3.我们可以为switch语句使用字符串吗?
是的,版本7。
从JDK 7中,我们可以使用字符串作为切换条件。
在版本6之前,我们不能使用字符串作为切换条件。
4. 如何将字符串转换成整数?
简单,但经常使用,有时被忽略。
5. 如何分割一个字符串与空白字符?
6. substring()方法真正的功能是什么?
在JDK 6中,substring()方法为表示现有字符串的字符数组提供一个窗口,但不创建新字符串。要创建一个由新char数组表示的新字符串,可以添加一个空字符串,如下所示
这将创建一个表示新字符串的新char数组。上面的方法有时可以使代码更快,因为垃圾收集器可以收集未使用的大字符串,只保留子字符串。
在Oracle JDK 7中,substring()创建一个新的char数组,而不是使用现有的数组。查看一下显示JDK 6和JDK 7之间的substring()差异的图表。
7. String vs StringBuilder vs StringBuffer
String vs StringBuilder: StringBuilder是可变的,这意味着您可以在创建它之后修改它。
StringBuilder与StringBuffer: StringBuffer是同步的,这意味着它是线程安全的,但比StringBuilder慢。
8. 如何重复字符串?
在Python中,我们可以用数字相乘来重复一个字符串。
在Java中,我们可以使用来自Apache Commons Lang包的StringUtils的repeat()方法。
9. 如何将字符串转换为日期?
10.如何计算字符在字符串中出现的次数?
使用来自apache commons lang的StringUtils。