黑马程序员技术交流社区
标题: String不是常量而是一种数据类型 [打印本页]
作者: 大蓝鲸Java 时间: 2018-1-25 16:50
标题: String不是常量而是一种数据类型
本帖最后由 大蓝鲸Java 于 2018-1-25 16:51 编辑
我们今天来讨论一下有关字符串方法的知识点.谈到字符串我们都会想到String,由于任意一个字符串字面值都可以称之为一个String的实例,所有部分同学就会认为字符串就是String.其实这里面是有误区的,接下来咱们就具体聊聊这方面的知识.
首先,我们先来回顾一下数据类型和常量:
Ø 数据类型分类
基本数据类型(4类8种)
整数
byte
short
int
long
浮点
float
double
字符
char
布尔
boolean
引用数据类型:数组,类,接口,枚举等
Ø 常量
字符串常量
整数常量
小数常量
字符常量
布尔常量
空常量
那么看到这里我们就应该能够有所感悟了,从定义的角度来说:类属于引用数据类型,而String本身就是类,所有我们所String是数据类型,这完全是没有问题的.而字符串又属于常量这也是没有问题的.
但是,如果说字符串就是String类那就是有问题了.字符串的定义是有双引号括起来的内容称之为是字符串,它是Stirng类的具体实例.我们在这举个例子:我们说整数123是一个常量,但是你不能说int是常量,这是一样的道理.数据类型是用来定义变量或者常量的,而常量是某种数据类型具体的值.看到这里,我相信大家都能够理解了.
接下来我们再来看看,为什么字符串是一个常量.我猜想这一定和它存储的方式有关系的:
我们都知道存储字符串的,其实是一个字符数组.由上图可以得知存储字符串的字符数组是由final来修饰的.final修饰的变量那就是常量了,常量一旦被赋值其值是不可改变的.所以我们又说字符串是一个不可改变的字符序列.
作者: rong-x 时间: 2018-1-29 13:53
为什么没有评论,来顶下玮哥。
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |