以前只是一直用equals()来判断字符串变量是不是和某个定值相等,知道这样比较稳妥,但是我想有必要说说清楚这其中的原理。
首先,引入java常量池的概念,也就是编译的时候,常量们会被确定在.class文件中,java常量池中一共有如下这么多内容:
常量表类型
|
标志值(占1 byte)
|
描述
|
CONSTANT_Utf8
|
1
|
UTF-8编码的
Unicode字符串
|
CONSTANT_Integer
|
3
|