Java中关于String类型的常见问题
String 函数是我们代码语言中常用的函数类型,下面小编带大家学习以下Java中关于String类型的常见问题,欢迎阅读以下内容,更多详情请关注应届毕业生考试网。
1. 如何比较两个字符串?用“=”还是equals
简单来说,“==”是用来检测俩引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等。只要你项检测俩字符串是不是相等的,你就必须得用equals()方法。
如果你知道“字符串保留(string intern)”的概念那就更好了。
2. 为什么安全敏感的字符串信息用char[]会比String对象更好?
String对象是不可变的就意味着直到垃圾回收器过来清扫之前它们都不会发生变化的。用数组的话,就可以很明确的修改它任何位置的字符元素。这样的话,如密码等安全敏感的信息就不会出现在系统的任何地方。
3. 字符串对象能否用在switch表达式中?
从JDK7开始的话,我们就可以在switch条件表达式中使用字符串了,也就是说7之前的版本是不可以的。
// java 7 only!
switch (werCase()) {
case "a":
value = 1;
break;
case "b":
value = 2;
break;
}
4. 如何将字符串转换为整型数值?
int n = eInt("10");
如此简单,经常使用有偶尔也会被遗忘。
5. 如何用空格去分隔字符串?
我们可以很便捷的使用正则表达式来进行分隔。“s”就表示空格,还有如”",”t”,”r”,”n”.
String[] strArray = t("\s+");
6. substring()方法具体是都干了些啥?
在JDK6中,这个方法只会在标识现有字符串的'字符数组上 给一个窗口来表示结果字符串,但是不会创建一个新的字符串对象。如果需要创建个新字符串对象,可以这样在结果后面+一个空的字符串:
tring(m, n) + ""
这么写的话就会创建一个新的字符数组来表示结果字符串。同时,这么写也有一定的几率让你的代码跑的更快,因为垃圾回收器会吧没有在使用的大字符串回收而留下子字符串。
Oracle JDK7中的substring()方法会创建一个新的字符数组,而不用之前存在的。看看这张图就会明白substring()方法在JDK6和JDK7中的区别。
7. 如何计数一个字符在某个字符串中出现的次数?
使用Apache Commons Lang包中的 StringUtils类就可以完成这个工作。
int n = tMatches("11112222", "1");
tl``` n(n);
8. 如何快速重复构造一段字符串?
在Python编程中,只需要用字符串去乘以一个数字就可以 搞定了,那在Java编程中,我们可以使用来自Apache Commons Lang包中的StringUtils类的repeat()方法。
String str = "abcd";
String repeated = at(str,3);
//abcdabcdabcd
9. 如何将时间格式的字符串转换成date对象?
String str = "Sep 17, 2013";
Date date = new SimpleDateFormat("MMMM d, yy", ISH)e(str);
tln(date);
//Tue Sep 17 00:00:00 EDT 2013
ng&StringBuilder&StringBuffer
String vs StringBuilder:StringBuilder是可变的,这就意味你在创建对象之后还可以去修改它的值。StringBuilder vs StringBuffer:StringBuffer是同步的,意味着它是线程安全的,但是就会比StringBuilder慢些。
-
Java语言的学习技巧
知识改变命运,对于Java程序员来说,技术不断更新,只有及时充电,才能不被市场淘汰。今天小编为大家分享Java程序员学习的6个小技巧。一定要看书现在学习Java变得比以前容易多了,除了有大量的视频教程外,还有专业的java培训机构,这都使学习变得更加傻瓜化,然而我要说的是,J...
-
java图片处理功能介绍
java可实现缩放图像、切割图像、图像类型转换、彩色转黑白、文字水印、图片水印等常用功能,本文是本站小编搜索整理的关于java图片处理功能介绍,供参考学习,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!代码如下复制代码importaComposi...
-
Java中运算符的使用
导语:计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。下面是java中运算符的使用,一起来学习下吧:算术运算符单目:+(取正)-(取负)++(自增1)--(自减1)双目:+-*/%(取余)三目:a>b?true:false说明:当a大于b的时候,为tru...
-
Java类加载器类介绍
类加载器是Java语言的一个创新,也是Java语言流行的重要原因之一。它使得Java类可以被动态加载到Java虚拟机中并执行。以下是小编为大家搜索整理的java类加载器,希望能给大家带来帮助!更多精彩内容请及时关注我们。类加载器:java虚拟机中可以安装多个类加载,系统默...