以下是有关Java字符串的十大常见问题 。
1.如何比较字符串? 使用“ ==”还是使用equals()?
简而言之,“ ==”测试引用是否相等,而equals()测试值是否相等。 除非您要检查两个字符串是否是同一对象,否则应始终使用equals()。
如果您了解字符串实习的概念会更好。
2.为什么对于安全敏感信息,char []优于String?
字符串是不可变的 ,这意味着一旦创建它们,它们将保持不变,直到启动垃圾收集器。使用数组,您可以显式更改其元素。 这样,安全敏感信息(例如密码)将不会出现在系统中的任何位置。
3.我们可以在switch语句中使用字符串吗?
是,对于版本7。从JDK 7开始 ,我们可以使用字符串作为切换条件。 在版本6之前,我们不能使用字符串作为切换条件。
|
4.如何将字符串转换为int?
|
简单,但是经常使用,有时被忽略。
5.如何用空格字符分割字符串?
我们可以使用正则表达式简单地进行拆分。 “ \ s”代表空格字符,例如“”,“ \ t”,“ \ r”,“ \ n”。
|
6. substring()方法是否创建新的字符串?
答案是不。 substring()方法为一个chars数组提供了一个窗口,该chars数组表示现有的String,但不创建新的。 要创建一个新字符串,您可以添加一个空字符串,如下所示:
|
这将创建一个新字符串。 上面的方法有时可以使您的代码更快,因为垃圾收集器可以收集未使用的大字符串并仅保留子字符串。
在Oracle JDK 7中,substring()创建一个新字符串。 查看该图以显示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。
|
多一个
您知道如何检测字符串是否仅包含大写字母吗?
相关文章:
- 该图显示了Java字符串的不变性
- Java代码–将文件转换为字符串
- 为什么我们需要软件测试?
- Java基础
翻译自: https://www.javacodegeeks.com/2013/09/top-10-questions-of-java-strings.html