|
上面我为各人总结了10条Java开辟者常常会提的闭于Java字符串的成绩,假如您也是Java初教者,认真看看吧:
1、怎样比力字符串,该当用”==”仍是equals()?
总的来讲,”==”是用去比力字符串的援用地点,而equals()才是比力字符串的值。两个值不异的字符串用”==”比力成果有多是false,而用equals()则必然为true。除非两个字符串是统一个new出去的工具,否则比力字符串值能否不异该当要用equals()。
2、对那些宁静敏感的疑息,为何用char[]存储要劣于String?
String是不成变的,那便意味着它一旦被创立,便将永世驻留正在内乱存中,曲到渣滓收受接管器将其收受接管为行。但是用数组存储方法,您能够明白天改动数组中的元素,因而用数组方法,宁静疑息将有能够没有存正在体系内乱存的任何处所。
3、可否用字符串去声明switch语句?
JAVA 7及当前的版本是撑持的。正在JDK 7中,许可您利用字符串做switch语句的比力前提。jdk 6从前的版本,不克不及如许利用:
// java 7 only!switch (str.toLowerCase()) { case "a": value = 1; break; case "b": value = 2; break;}
4、怎样将字符串转换成数字int范例?
int n = Integer.parseInt("10");很简朴,但却会常常用到,也很简单被疏忽。
5、怎样用空格字符去朋分字符串?
我们能够很便利天用正则表达式去朋分字符串,”\s”暗示空格字符,好比” “, “\t”, “\r”, “\n”
String[] strArray = aString.split("\\s+");
6、substring()办法终究是甚么?
正在jdk 6中,substring()办法正在本来字符串中供给了一个截与字符的窗心,它并出有创立一个新的String真例。假如您念创立新的字符数组,您能够正在substring()后减一个空字符,便像如许:
str.substring(m, n) + ""
如许便会创立一个新的String真例,上里的办法偶然候可让您的法式运转速率更快,由于渣滓收受接管器能够将出用的年夜字符串收受接管走,并保存其子字符串。
7、String、StringBuilder战StringBuffer哪一个更劣?
String战StringBuilder:StringBuilder是可变的,也便是道用StringBuilder创立的字符串您能够随时改动它。StringBuilder战StringBuffer:StringBuffer是同步的,它是线程宁静(thread-safe)的,但服从要比StringBuilder好很多。
8、怎样反复输出字符串?
正在Python中,我们只需求为字符串乘上一个数字就能够反复输出该字符串了。但是正在Java中,我们能够用StringUtils的repeat()办法去完成,StringUtils是Apache大众言语库的此中一个类库成员。
String str = "abcd";String repeated = StringUtils.repeat(str,3);//abcdabcdabcd
9、怎样将字符串转换成日期范例?
您能够按以下办法去做,代码以下:
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大众言语库中的StringUtils,代码以下:
int n = StringUtils.countMatches("11112222", "1");System.out.println(n);
以上那10个闭于Java字符串的成绩,您碰到过量少?别的,您以为另有哪些成绩会对Java开辟者发生猜疑,欢送鄙人圆留行哦!
本文链接:编程艺术思想 尽请存眷 珠海论坛网,理解珠海旅游安居糊口的更多的疑息... |
|