Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
目标C变量常量的Java等价物_Java_Objective C - Fatal编程技术网

目标C变量常量的Java等价物

目标C变量常量的Java等价物,java,objective-c,Java,Objective C,在目标C中,为了声明变量常量,我在一个名为Constants.h的文件中使用#define FILE_NAME@“FILE.data”。我在需要时导入此文件 Java的等价物是什么?Java中的常量如下 public static final String FILE_NAME = "file.data"; 因为没有Java预处理器,所以没有与C#define等价的Java。但是您可以在Java中定义常量。在类中,说常量 public static final String FILE_NAME

在目标C中,为了声明变量常量,我在一个名为Constants.h的文件中使用
#define FILE_NAME@“FILE.data”
。我在需要时导入此文件


Java的等价物是什么?

Java中的常量如下

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

因为没有Java预处理器,所以没有与C
#define
等价的Java。但是您可以在Java中定义常量。在类中,说
常量

public static final String FILE_NAME = "file.data";
然后,您可以在需要常量的另一个类中执行:

import static my.package.Constants.*;

...

doSomethingWithFile(FILE_NAME);

+1:你比我快:)我可以写一个Java类来保存所有这些常量吗?还是不可取?是的,你可以在类或接口中设置你的常数。我不同意。有Java预处理器。甚至C预处理器也可以用于Java。唯一的区别是在Java中使用它并不常见。在C语言中,它是编译器的重要组成部分,没有它你几乎无法生存。任何开发J2ME应用程序的人都必须使用Java预处理器(如天线)。嗯,你每天都能学到新东西。我被纠正了。但是没有内置的JDK提供的Java预处理器,现在的预处理器主要用于可移植性。Java应该是自动可移植的。然而,对于J2ME应用程序来说,制作80多个版本是正常的,包括特定的bug、不同的性能、不同的屏幕大小和大小限制。。。这就是为什么预处理器是必须的,甚至Netbeans在移动包中也引入了预处理器。J2ME开发人员快速从事Android/iOS开发工作的原因之一。