【问题标题】:Java equivalent for Objective C variable constants [duplicate]Objective C变量常量的Java等效项[重复]
【发布时间】:2013-03-03 09:23:03
【问题描述】:

在 Objective C 中,为了声明一个变量常量,我在一个名为 Constants.h 的文件中使用#define FILE_NAME @"file.data"。我会在需要时导入此文件。

Java 等价物是什么?

【问题讨论】:

    标签: java objective-c


    【解决方案1】:

    Java 中的常量如下

    public static final String FILE_NAME = "file.data";
    

    【讨论】:

    • +1:你打败了我 :)
    • 我可以编写一个包含所有这些常量的 Java 类吗?还是不可取?
    • 是的,您可以在类或接口中设置常量。
    【解决方案2】:

    没有与 C #define 等效的 Java,因为没有 Java 预处理器。但是您可以在 Java 中定义常量。在课堂上,说Constants

    public static final String FILE_NAME = "file.data";
    

    然后您可以在另一个需要常量的类中执行static import

    import static my.package.Constants.*;
    
    ...
    
    doSomethingWithFile(FILE_NAME);
    

    【讨论】:

    • 我不同意。有Java预处理器。甚至 C 预处理器也可用于 Java。唯一的区别是在 Java 中使用它并不常见。在 C 语言中,它是编译器的重要组成部分,没有它你几乎无法生存。任何开发 J2ME 应用程序的人都必须使用 Java 预处理器(例如天线)。
    • 嗯,你每天都会学到新东西。我站得更正。但是没有内置的、JDK 提供的 Java 预处理器。
    • 现在预处理器主要用于便携性。 Java 应该是自动可移植的。然而,对于 J2ME 应用程序来说,制作 80 多个版本是很正常的,涵盖特定的错误、不同的性能、不同的屏幕尺寸和尺寸限制……这就是为什么必须使用预处理器的原因,甚至 Netbeans 也将预处理器作为 Mobile 包的一部分引入。 J2ME 开发人员快速转向 Android/iOS 开发工作的原因之一。
    猜你喜欢
    • 1970-01-01
    • 2013-02-09
    • 2012-07-14
    • 1970-01-01
    • 2014-09-16
    • 2011-01-18
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    相关资源
    最近更新 更多