Java字符串 10大最受关注问题解析
2016-08-24 00:38
246 查看
Java中字符串的知识精细而繁杂,所以初学者想要更深入的掌握这些知识点,除了理解概念外,有对比的进行学习也是一种有效的学习方法,不但能掌握字符串规律,还能对不同字符串属性进行区分,下面就来给大家以对比方式来回答最受关注的10大字符串问题。
1 如果对字符串进行比较,使用“= =”还是equals()?
一般情况下我们用”==”来比较字符串所引用的地址,而且equals()才是用来比较字符串的值。两个值相同的字符串用”==”而比较的结果可能会是false,而equals()的结果则一定是true。除非这两个字符串是用同一个new出来的对象,除此之外比较字符串值是否相同都要用equals() 2 针对安全敏感的信息,为什么要char[]存储要优于String?
在Java中Striing是不可变量,意味着它一旦被创建就会永久驻留在内存中,一直到垃圾回收器将它收回为之。如果我们用数组的存储方式,就可以明确的改变数组中的元素,所以说用数组的方式,这些安全的信息就可能不会存在于内存的任何地方。
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()方法并没有创建出一个新的Stirng实例,它只是在原来的字符串中提供了一个截取字符的窗口。如果我们想创建新的数组,可以通过在substring()后加一个空的字符,如下:str.substring(m,
n) + ""这样就可以创建一个新的Sting实例,而且以上方法还可以加快程序运行,因为垃圾回收其可将那些没有用的字符会收走,同时还能保留其字符串。
7 String、StringBuilder和StringBuffer哪个更优?
String和StringBuilder:StringBuilder是可变的,意思是我们用StringBuilder所创建的字符串可以随时进行更改。StringBuilder和StringBuffer:StringBuffer是同步的,它是线程安全(thread-safe)的,但效率要比StringBuilder差得多。
8 怎么样重复输出字符串?
在Python中的操作很简单,通过将字符串乘上一个数字就可以重复输出该字符串。而在Java中,我们可以通过 StringUtils的repeat()方法来实现,StringUtils是Apache是一个类库成员在Apache公共语言库中能够找到。String
str = "abcd";String repeated = StringUtils.repeat(str,3);//abcdabcdabcd9
怎样将字符串转换成日期类型?
我们可以通过以下方法来操作,代码如下:
String str = "Sep 17, 2016";Date
date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);System.out.println(date);//Tue
Sep 17 00:00:00 EDT 2016
10 怎样统计指定字符在字符串中所出现的频率?
我们可以利用Apache公共语言库的StringUtils,代码如下:int n = StringUtils.countMatches("11112222",
"1");System.out.println(n);
对于学习有困难不知道如何提升自己可以加扣:578024144 进行交流得到帮助,获取学习资料
1 如果对字符串进行比较,使用“= =”还是equals()?
一般情况下我们用”==”来比较字符串所引用的地址,而且equals()才是用来比较字符串的值。两个值相同的字符串用”==”而比较的结果可能会是false,而equals()的结果则一定是true。除非这两个字符串是用同一个new出来的对象,除此之外比较字符串值是否相同都要用equals() 2 针对安全敏感的信息,为什么要char[]存储要优于String?
在Java中Striing是不可变量,意味着它一旦被创建就会永久驻留在内存中,一直到垃圾回收器将它收回为之。如果我们用数组的存储方式,就可以明确的改变数组中的元素,所以说用数组的方式,这些安全的信息就可能不会存在于内存的任何地方。
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()方法并没有创建出一个新的Stirng实例,它只是在原来的字符串中提供了一个截取字符的窗口。如果我们想创建新的数组,可以通过在substring()后加一个空的字符,如下:str.substring(m,
n) + ""这样就可以创建一个新的Sting实例,而且以上方法还可以加快程序运行,因为垃圾回收其可将那些没有用的字符会收走,同时还能保留其字符串。
7 String、StringBuilder和StringBuffer哪个更优?
String和StringBuilder:StringBuilder是可变的,意思是我们用StringBuilder所创建的字符串可以随时进行更改。StringBuilder和StringBuffer:StringBuffer是同步的,它是线程安全(thread-safe)的,但效率要比StringBuilder差得多。
8 怎么样重复输出字符串?
在Python中的操作很简单,通过将字符串乘上一个数字就可以重复输出该字符串。而在Java中,我们可以通过 StringUtils的repeat()方法来实现,StringUtils是Apache是一个类库成员在Apache公共语言库中能够找到。String
str = "abcd";String repeated = StringUtils.repeat(str,3);//abcdabcdabcd9
怎样将字符串转换成日期类型?
我们可以通过以下方法来操作,代码如下:
String str = "Sep 17, 2016";Date
date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);System.out.println(date);//Tue
Sep 17 00:00:00 EDT 2016
10 怎样统计指定字符在字符串中所出现的频率?
我们可以利用Apache公共语言库的StringUtils,代码如下:int n = StringUtils.countMatches("11112222",
"1");System.out.println(n);
对于学习有困难不知道如何提升自己可以加扣:578024144 进行交流得到帮助,获取学习资料
相关文章推荐
- Java字符串的10大热点问题盘点
- Java字符串的10大热点问题盘点
- Java字符串的10大热点问题盘点
- Java字符串的10大热点问题汇总!
- Java字符串的10大热点问题盘点
- 【问题-java-json】josn的发送与接收(全)解析json对象与字符串在js中的区别,以及后端spring该如何接收?
- Java字符串的10大热点问题盘点
- 【java易错点】java split分割字符串 空格问题解析
- Java字符串的10大热点问题盘点
- Java字符串的10大热点问题盘点
- Java字符串的10大热点问题盘点
- java使用POI解析Excel表格中由纯数字组成的字符串报错问题&解决数据自动保存为科学计数法问题
- [Java开发之路]Java字符串的10大热点问题盘点
- java json字符串解析--遇到的问题
- Java字符串的10大热点问题
- 搞定2个问题:C# 动态调用java webservice,Winform解析Json字符串中特殊值
- JAVA里浮点数从字符串解析丢失精度问题
- Java字符串的10大热点问题,你都懂吗?
- java字符串类型的日期处理问题
- Java多语言编码问题解析