在我的Java应用程序中,我的一个对象中的一组值恰好有一个值。现在,我想知道如何定义它们以提高性能:private static final String ITEM_TYPE1= "type1"
private static final int ITEM_TYPE1= 1
定义int是否比string更好? (我应该将值转换为字符串,所以我想将其定义为字符串,但出于性能原因而担心,因为比较ints比进行srtings可能更简单)
编辑:我知道枚举,但我只是想知道整数是否比字符串具有更多的性能?这取决于JDK和JRE如何处理情况。 (在Android dalvik或ART ..中)
最佳答案
在我的Java应用程序中,我的一个对象只有一组值中的一个值
那就是java enums的用途。
关于“比字符串具有更好的性能”这个问题,这几乎是荒谬的。
您正在谈论静态常量。即使在您的应用中使用了100或1000次,它们的性能也无关紧要。重要的是编写易于阅读和维护的代码。因为这样,JIT才能投入使用并将其转换为经过优化的机器代码。
请理解:过早的优化是万恶之源!应用程序的性能好坏取决于许多其他因素,绝对不取决于将常量表示为int还是字符串。
除此之外:Java中某些事物的类型应反映其性质。如果它是字符串,则使其成为字符串(例如,当您主要希望将其用作字符串并将其连接到其他字符串时)。当您拥有数字并将其作为数字处理时,请将其设为整数。