从图中感觉输出应该都是true,但是实际上第四行输出才会是true。这是为什么呢?
因为“abc”、“123”都是存放在堆空间中,但是变量str都是存放在栈空间中。
对于str6、str7,都是未确定str的值的,因其中都有变量str4。
对于字符串常量的相加,在编译时直接将字符串合并,而不是等到运行时再合并。所以仅有str8==str9。
字符串编译时优化/笔记
最新推荐文章于 2024-06-27 23:17:57 发布
从图中感觉输出应该都是true,但是实际上第四行输出才会是true。这是为什么呢?
因为“abc”、“123”都是存放在堆空间中,但是变量str都是存放在栈空间中。
对于str6、str7,都是未确定str的值的,因其中都有变量str4。
对于字符串常量的相加,在编译时直接将字符串合并,而不是等到运行时再合并。所以仅有str8==str9。