在我的 Java 应用程序中,我的一个对象只有一组值中的一个值。现在我想知道如何定义它们以提高性能:
private static final String ITEM_TYPE1= "type1"
private static final int ITEM_TYPE1= 1
定义 int 比 string 更好吗? (我应该将值转换为字符串,所以我喜欢定义为字符串,但只是担心性能原因,因为比较 ints 可能比 srtings 更简单)
编辑:我知道枚举,但我只想知道整数是否比字符串具有更好的性能?这取决于 JDK 和 JRE 如何处理 underging。 (在 Android dalvik 或 ART 中..)
最佳答案
In my java application one of my objects has exactly one value from a set of values
这就是java enums是为了。
关于“整数比字符串有更好的性能”这个问题,这几乎是荒谬的。
你说的是静态常量。即使它们在您的应用中使用了 100 次或 1000 次,性能在这里也无关紧要。重要的是编写易于阅读和维护的代码。因为这样 JIT 就可以启动并将其转换为经过优化的机器代码。
请理解:过早的优化是万恶之源!您的应用程序的性能好坏取决于许多其他因素,绝对不是将常量表示为整数或字符串。
除此之外:Java 中某些事物的类型 应该反射(reflect)其性质。如果它是一个字符串,就把它变成一个字符串(比如当你想主要将它用作字符串,并将它连接到其他字符串时)。当您有数字并将它们作为数字处理时,将其设为 int。
关于java - 定义常量标识符的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54688653/