为什么 Kotlin 中的整数缓存与 Java 中的行为不同?

问题描述 投票:0回答:1

字符串实习按我的预期工作,但我无法找出它如何适用于其他类型。

例如,对于 Java 中的整数:

class Main {
    public static void main(String[] args) {
        Integer x = 127;
        Integer y = 127;
        System.out.println(x == y); // true
        
        Integer xx = 128;
        Integer yy = 128;
        System.out.println(xx == yy); // false
    }
}

但在 Kotlin 中它总是返回

true
这是为什么呢?我只是想阅读一些有关此内容的内容,但不知道在哪里可以找到任何信息。

java kotlin string-interning
1个回答
0
投票

你没有展示你的kotlin代码,但我假设你使用了

==
运算符,这相当于在java中调用
.equals()
,java
==
运算符是kotlin中的
===
运算符。

请阅读https://kotlinlang.org/docs/equality.html

请注意,这与缓存无关。

© www.soinside.com 2019 - 2024. All rights reserved.