Java字符串问题Top10
2013-11-22 11:59
225 查看
1、如何比较字符串?使用“==”还是使用equals() ? 简单地说,“==”测试引用同一地址,而equals()测试值是否相等。除非需要检查两个字符串是否是同一个对象,否则应该总是使用equals()方法。 如果你知道字符串驻留(string interning)的概念的就更好了。 译注:字符串驻留是指为每个独立的String值只保留一个不可改变的拷贝,详细解释可参见String interning词条。 2、为什么为在处理私密信息的时候,选择char [ ]比String好? String是不可改变的。这意味着一旦String对象被创建,那个地址上的值将保持不变,直到垃圾收集器有空来做自动清理。而使用char[ ]可以(在用完后)明确地修改它的元素。这种一来,私密信息(例如密码)就不会在系统的任何地方出现。 3、我们可以在switch语句中用String作分支条件吗? 从JDK 7开始是可以的。我们可以使用String符串作为Switch条件。第JDK 6之前,我们不能使用String作为Switch条件。 // java 7 only! switch (str.toLowerCase()) { case "a": value = 1; break; case "b": value = 2; break; }
4 、如何转换String为int? int n = Integer.parseInt("10"); 调用很简单,使用如此频繁以致有时会被忽略。 5 、如何用空白符分割字符串? 可以简单地使用正则表达式做分割。“ \s ”代表所有空格符,如“ ”、 “ \ ”、 “ \ r”、“ \ n ”。 String[] strArray = aString.split("\\s+");
6 、substring() 具体干了些什么? 在JDK 6中,substring() 提供了一个显示已有字符串char[]的接口,但不创建新字符串。如果需要创建一个新的char[]表示的字符串,可以像下面一样与一个空字符串相加: str.substring(m, n) + "" 这样会创建一个新的字符数组,表示新的字符串。示例方法有时可以使代码运行更快,因为垃圾收集器可以收集未使用的大字符串只保留子串。 在Oracle JDK 7中 ,substring()会创建一个新的字符数组而不是使用现有的。点击这个链接有图解说明JDK 6和JDK 7的substring()之间的差异。 7、String vs StringBuilder vs StringBuffer String 与StringBuilder的区别:StringBuilder的是可变的,这意味着可以在创建以后再作修改。 StringBuilder与StringBuffer的区别: StringBuffer的是同步的,这意味着它是线程安全的,但速度比StringBuilder慢。
8、如何重复一个字符串? 在Python中,我们可以乘以一个数字来重复字符串。在Java中,我们可以使用Apache公共语言包(Apache Commons Lang package)中的repeat()。 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);
相关文章推荐
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- Java字符串问题Top10
- java中读取excel文件中字符串乱码问题解决方法
- java数组、字符串比较插入及排序问题
- Java中String创建字符串创建对象问题
- Java 通过 JNA 调用 DLL 返回 char * 字符串乱码问题的解决
- Java中substring的妙用,解决字符串提取的问题
- Java链表及字符串反转问题集
- java中字符串或数字的对齐方式和输出所占用的宽度的问题
- 【Java笔试题】字符串包含问题
- JAVA 写中文字符串到指定文件 中文乱码 问题解决
- JAVA项目开发中常遇到的字符串替换问题
- 问题1:java中没有实现这种“byte a = 0xB2 --> String b = “B2””转换的简单实现需要自己实现。 答:自己编写的转换函数,思路将byte的高低4位分开,分别转换为对应的字符然后合成返回的字符串。 java 代码 1.