在我的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中某些事物的类型应反映其性质。如果它是字符串,则使其成为字符串(例如,当您主要希望将其用作字符串并将其连接到其他字符串时)。当您拥有数字并将其作为数字处理时,请将其设为整数。

10-02 00:05