gpt4 book ai didi

十个最常见的Java字符串问题(翻译)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章十个最常见的Java字符串问题(翻译)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

翻译自:Top 10 questions of Java Strings 。

 

简单地说,”==”测试两个字符串的引用是否相同,equals()测试两个字符串的值是否相同。除非你希望检查两个字符串是否是同一个对象,否则最好用equals()。 如果你知道字符串驻留机制会更好.

2.为什么对于安全性敏感的信息char[]要优于String?

字符串是不变的,这也就意味着字符串一旦被创建,它们将一直保持在那直到被垃圾回收器清理为止。而对于一个数组,你可以明确的修改它的元素。这样一来,安全性敏感信息(比如密码)将不会出现在系统的任何其它地方.

3.我们能不能在switch语句中使用String?

对于Java7答案是肯定的。从JDK7开始,我们可以使用String作为switch语句的条件。在JDK6之前,我们不能使用String作为switch语句的条件.

?
1
2
3
4
5
6
7
8
9
// java 7 only!
switch (str.toLowerCase()) {
    case "a" :
       value = 1 ;
       break ;
    case "b" :
       value = 2 ;
       break ;
}

4.怎样把字符串转换为整数?

?
1
int n = Integer.parseInt( "10" );

  。

很简单,使用太过频繁以致有时候会被忽略.

5.怎样分解一个有空白字符的字符串?

我们可以简单的用正则表达式来做分解。”s”代表空白字符,例如” “,” ”,” ”,” ”.

?
1
String[] strArray = aString.split( "\s+" );

  。

6.substring()方法真正做了什么?

在JDK6中,substring()方法提供了一个表示已有字符串的字符数组的窗口,但并没有创建一个新的字符串。要创建一个由新的字符数组表示的新字符串,可以像下面一样添加一个空串:

?
1
str.substring(m, n) + ""

  。

这样就创建一个表示新字符串的全新的字符数组。上面的方法有时候会使代码更快,因为垃圾回收器会回收掉大的不用的字符串,只保留一个子串。 在Oracle JDK 7中,substring()创建一个新的字符数组,不用已有的数组。The substring() Method in JDK 6 and JDK 7 中的图表说明了JDK 6和JDK 7的substring()之间的差异.

7.String vs StringBuilder vs StringBuffer 。

String vs StringBuilder:StringBuilder是可变的,这意味着在创建之后人能够改变它的值。 StringBuilder vs StringBuffer:StringBuffer是同步的,这意味着它是线程安全的,但比StringBuilder更慢.

8.怎样重复一个字符串?

在Python中,我们可以通过乘以一个数来重复字符串。在Java中,我们可以通过Apache Commons Lang包中的StringUtils类的repeat()方法重复字符串.

?
1
2
3
String str = "abcd" ;
String repeated = StringUtils.repeat(str, 3 );
//abcdabcdabcd

  。

9.怎样把字符串转换为日期?

?
1
2
3
4
String str = "Sep 17, 2013" ;
Date date = new SimpleDateFormat( "MMMM d, yy" , Locale.ENGLISH).parse(str);
System.out.println(date);
//Tue Sep 17 00:00:00 EDT 2013

  。

10.怎样统计一个字符在字符串中出现的次数?

使用Apache Commons Lang包中的StringUtils类.

?
1
2
int n = StringUtils.countMatches( "11112222" , "1" );
System.out.println(n);

  。

附加题 怎样检测一个字符串只包含大写字母 。

翻译自:Top 10 questions of Java Strings 。

最后此篇关于十个最常见的Java字符串问题(翻译)的文章就讲到这里了,如果你想了解更多关于十个最常见的Java字符串问题(翻译)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com