Java中关于String类型的10个问题
来源:互联网 发布:查找算法. 编辑:程序博客网 时间:2024/06/06 19:58
Java中关于String类型的10个问题
1. 如何比较两个字符串?用“=”还是equals
简单来说,“==”是用来检测俩引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等。只要你项检测俩字符串是不是相等的,你就必须得用equals()方法。2. 为什么安全敏感的字符串信息用char[]会比String对象更好?
String对象是不可变的就意味着直到垃圾回收器过来清扫之前它们都不会发生变化的。用数组的话,就可以很明确的修改它任何位置的字符元素。这样的话,如密码等安全敏感的信息就不会出现在系统的任何地方。3. 字符串对象能否用在switch表达式中?
从JDK7开始的话,我们就可以在switch条件表达式中使用字符串了,也就是说7之前的版本是不可以的。4. 如何将字符串转换为整型数值?
int
n = Integer.parseInt(
"10"
);
5. 如何用空格去分隔字符串?
我们可以很便捷的使用正则表达式来进行分隔。“\s”就表示空格,还有如”",”\t”,”\r”,”\n”.
String[] strArray = aString.split(
"\\s+"
);
6. substring()方法具体是都干了些啥?
str.substring(m, n) +
""
这么写的话就会创建一个新的字符数组来表示结果字符串。同时,这么写也有一定的几率让你的代码跑的更快,因为垃圾回收器会吧没有在使用的大字符串回收而留下子字符串。
7. String&StringBuilder&StringBuffer
String vs StringBuilder:StringBuilder是可变的,这就意味你在创建对象之后还可以去修改它的值。StringBuilder vs StringBuffer:StringBuffer是同步的,意味着它是线程安全的,但是就会比StringBuilder慢些。
8. 如何快速重复构造一段字符串?
在Python编程中,只需要用字符串去乘以一个数字就可以 搞定了,那在Java编程中,我们可以使用来自Apache Commons Lang包中的StringUtils类的repeat()方法。
String str =
"abcd"
;
String repeated = StringUtils.repeat(str,
3
);
9. 如何将时间格式的字符串转换成date对象?
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类就可以完成这个工作。int
n = StringUtils.countMatches(
"11112222"
,
"1"
);
System.out.printl``` n(n);
译文链接: http://www.importnew.com/12845.html
0 0
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java中关于String类型的10个问题
- Java 中关于 String 类型的 10 个问题
- Java 中关于 String 类型的 10 个问题
- PHP xml_parse_into_struct 函数详细解析
- python 执行报错 SyntaxError: Non-ASCII character '\xef' i
- 集团信息化之路—人力资源管理软件选型二三事
- 根据Email地址跳转到相应的邮箱登录页面
- linux基础---常用命令学习
- Java中关于String类型的10个问题
- 【线段树】模板-HDU-1166-点改区查
- GPU编程之CUDA(六)——问题及解决
- LeetCode: Palindrome Partitioning
- sed 用法
- 什么叫暖男?
- 实现京东的城市切换功能
- C/C++堆栈指引
- angry_birds_again_and_again