在 java 中调用包含枚举的函数
calling a function containg enum in java
我定义了一个class
class Prop{
public static enum property{
NAME,
CITY,
ADDRESS;
}
private String NAME;
private String CITY;
private String ADDRESS;
public String getValue(property pro){
switch(pro){
case NAME:
return NAME;
case CITY:
return CITY;}
return null;}
}
class CallPro{
private String name;
name=Prop.getValue("");
}
我不是很清楚如何从 class CallPro 调用 getValue。
基本上应该传递什么参数来得到想要的值。
我是 java
的初学者
要运行这个程序你首先需要一个public static void main(String[])
方法。这是您进入任何 Java 程序的入口点。因为,您想在 callPro
中分配值,请在其中添加 main()
方法。
接下来,你要调用getProperty()
,这是一个属于classprop
的实例方法,所以你需要先使用[=]创建它的一个实例37=]新构造函数()语法。
class callPro {
private static String name;
private static String city;
private static String address;
public static void main(String[] args) {
// create prop instance
prop property = new prop();
// call prop's method getValue()
name = property.getValue(prop.property.CITY);
city = property.getValue(prop.property.NAME);
address = property.getValue(prop.property.ADDRESS);
// New York, John, Central Park
System.out.println(name + ", " + city + ", " + address);
}
}
注意,我必须如何让 callPro
的成员 static
能够在 main()
方法中访问它们,因为那也是 static
。另外,请注意我是如何引用 Enums 的:className.enumType.enumValue.
为了能够看到从 main()
方法打印的值,您还需要为 prop
class 成员提供值,如
private String NAME = "John";
private String CITY = "New York";
private String ADDRESS = "Central Park";
public String getValue(property pro) {
switch (pro) {
case NAME:
return NAME;
case CITY:
return CITY;
case ADDRESS:
return ADDRESS;
}
return null;
}
是的,您可以遍历 enum 的值并在循环中检索您的属性,如
prop property = new prop();
for (prop.property prop : prop.property.values()) {
System.out.println(property.getValue(prop));
}
enumType.values() returns 所有 enumValues[ 的 enumType[] =45=] 可以与 for-each
循环一起使用,如上所示。
我定义了一个class
class Prop{
public static enum property{
NAME,
CITY,
ADDRESS;
}
private String NAME;
private String CITY;
private String ADDRESS;
public String getValue(property pro){
switch(pro){
case NAME:
return NAME;
case CITY:
return CITY;}
return null;}
}
class CallPro{
private String name;
name=Prop.getValue("");
}
我不是很清楚如何从 class CallPro 调用 getValue。
基本上应该传递什么参数来得到想要的值。
我是 java
的初学者要运行这个程序你首先需要一个public static void main(String[])
方法。这是您进入任何 Java 程序的入口点。因为,您想在 callPro
中分配值,请在其中添加 main()
方法。
接下来,你要调用getProperty()
,这是一个属于classprop
的实例方法,所以你需要先使用[=]创建它的一个实例37=]新构造函数()语法。
class callPro {
private static String name;
private static String city;
private static String address;
public static void main(String[] args) {
// create prop instance
prop property = new prop();
// call prop's method getValue()
name = property.getValue(prop.property.CITY);
city = property.getValue(prop.property.NAME);
address = property.getValue(prop.property.ADDRESS);
// New York, John, Central Park
System.out.println(name + ", " + city + ", " + address);
}
}
注意,我必须如何让 callPro
的成员 static
能够在 main()
方法中访问它们,因为那也是 static
。另外,请注意我是如何引用 Enums 的:className.enumType.enumValue.
为了能够看到从 main()
方法打印的值,您还需要为 prop
class 成员提供值,如
private String NAME = "John";
private String CITY = "New York";
private String ADDRESS = "Central Park";
public String getValue(property pro) {
switch (pro) {
case NAME:
return NAME;
case CITY:
return CITY;
case ADDRESS:
return ADDRESS;
}
return null;
}
是的,您可以遍历 enum 的值并在循环中检索您的属性,如
prop property = new prop();
for (prop.property prop : prop.property.values()) {
System.out.println(property.getValue(prop));
}
enumType.values() returns 所有 enumValues[ 的 enumType[] =45=] 可以与 for-each
循环一起使用,如上所示。