您的位置:首页 > 编程语言 > Java开发

Java基础之String类型的使用

2016-06-05 23:06 447 查看
String类是我们在java编程过程中经常遇到的一个类,那么我们现在就对它进行一个比较深入的了解。
1.首先我想说的第一点是:在java中,String类是使用final修饰的。那么这个类就是不能被继承的。同时也说明了String类是一个不可变的类型。也就是说,在我们使用String类的一些方法的时候,原来的字符串并没有发生变化,只是它又另外构造了一个字符串,然后赋值给一个字符串变量。那么字符串类中有哪些方法呢?
更多的关于String类的内容可以自行去查询相关的API文档。
2.接下来我们需要进行比较的是,字符串的比较,这个是十分重要的。不多说,先来看几个题,看你能够做对几个题:
那么为什么会出现这种结果呢?首先,我们要注意的是,这里所有的出现的字符串都没有使用New这个关键字来进行强制的创建。如果题目中换成了new 这个关键字的话,那么输出的结果可能就不是这样的了。那么s1为什么等于s2呢?我们知道,当创建字符串s2的时候,那么字符串常量池中就会出现HelloWorld这个字符串常量了。当我们再次创建S2这个字符串的时候,那么系统就会认为既然常量池中已经存在了一样的字符串了,那么就没有必要再存多一份一样的字符串了,因此s1和s2指向的是同一个字符串。因此s1和s2是相同的。那么s1和s3为什么又是相等的呢?结果也是可以遇见的的。这就要涉及到字符串常量连接的优化问题了。注意,我这里说的是字符串常量,不是字符串变量。这也是s3和s4之间的区别。当俩个字符串常量在连接的时候,那么系统就会进行相关的优化,忽略俩个字符串常量之间的优化,那么这样的话,其实就变成了HelloWorld这个字符串常量了。所以它们之间也是相等的。那么s1和s4之间为什么是不想等的呢?因为s4是有俩个字符串变量连接而成的。注意我说的是字符串变量。那么系统就别不能进行优化了。因为如果是变量的话,那么就是不可知的,那么自然是不能够进行相关的优化的。这是要注意的。
3.我们在来看一下,字符串和Integer等数值型之间的一些转换。相关的方法如下:注意是包括空字符的。
4.既然谈到了String类,那么我们不得不提及的一点就是StringBuilder类。下面是这个类的介绍。
5.
5.我们来对字符串做一个小结:
return;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: