如何在Java中使用Enum
我想知道如何在java中正确使用enum。 我已经实现了下面的代码,它给出了一个错误如何在Java中使用Enum,java,enums,grouping,Java,Enums,Grouping,我想知道如何在java中正确使用enum。 我已经实现了下面的代码,它给出了一个错误 public class GlobalVariables { public enum Algorithm{louvain, kmeans}; public enum Evolution{survive,merge,split,dissolve}; /** * GED alpha threshold */ public static float GED_INCLUSION_ALPHA = 0.5f;
public class GlobalVariables {
public enum Algorithm{louvain, kmeans};
public enum Evolution{survive,merge,split,dissolve};
/**
* GED alpha threshold
*/
public static float GED_INCLUSION_ALPHA = 0.5f;
/**
* GED beta threshold
*/
public static float GED_INCLUSION_BETA = 0.7f;}
你知道我可能做错了什么吗
错误:
这条线上有多个标记
- louvain无法解析为类型
- “enum”不应用作标识符,因为它是源中的保留关键字 上的1.5级
- 语法错误,请插入“;”以完成块语句
- 语法错误,请插入“;”以完成ClassBodyDeclarations
- 无法将枚举解析为类型
- 无法将枚举解析为类型
- “enum”不应用作标识符,因为它是源中的保留关键字 上的1.5级
- 令牌“,”上出现语法错误,请删除此令牌
我会看到您的枚举与开关一起使用; 根据算法(类型),我们为包含方法的算法接口选择一个特定的实现:executeAlgorithm,我们可以进一步调用该方法 以下代码正在Java 1.6及更高版本中编译和使用(检查Java版本,因为1.5中添加了枚举)
我会看到您的枚举与开关一起使用; 根据算法(类型),我们为包含方法的算法接口选择一个特定的实现:executeAlgorithm,我们可以进一步调用该方法 以下代码正在Java 1.6及更高版本中编译和使用(检查Java版本,因为1.5中添加了枚举) 此错误: “enum”不应用作标识符,因为它是源级别1.5上的保留关键字 似乎暗示您正在使用<1.5的源版本进行编译。Java 1.5中引入了枚举 检查编译器或IDE设置 或者,问题中未显示的某些代码中可能存在语法错误。此错误: “enum”不应用作标识符,因为它是源级别1.5上的保留关键字 似乎暗示您正在使用<1.5的源版本进行编译。Java 1.5中引入了枚举 检查编译器或IDE设置
或者,您的问题中未显示的某些代码中可能存在语法错误。我已检查了您在此处发布的代码。它与java编译器1.5版及以上版本配合良好。 请记住,enum是在Java5中引入的,所以如果您使用的是任何编译器,请检查IDE中的编译器设置,或者您可以从终端检查编译器版本 java版本
您可以查看有关枚举的更多信息;如何在java中使用enum以及有关它的更多详细信息,我已经检查了您在这里发布的代码。它与java编译器1.5版及以上版本配合良好。 请记住,enum是在Java5中引入的,所以如果您使用的是任何编译器,请检查IDE中的编译器设置,或者您可以从终端检查编译器版本 java版本
您可以查看有关枚举的更多信息;如何在java中使用enum以及来自的关于它的更多详细信息显示您的错误?我们眼中没有内置Java编译器。什么样的错误?请发布错误消息。编译错误还是运行时错误?对于运行时错误,发布完整堆栈跟踪。请研究以改进问题。它将帮助您获得答案,并帮助我们尝试给您一个答案。当您尝试在此类中使用枚举时,是否出现错误?如果是,您是如何使用它们的?错误是什么?显示您的错误?我们眼中没有内置Java编译器。什么样的错误?请发布错误消息。编译错误还是运行时错误?对于运行时错误,发布完整堆栈跟踪。请研究以改进问题。它将帮助您获得答案,并帮助我们尝试给您一个答案。当您尝试在此类中使用枚举时,是否出现错误?如果是,您是如何使用它们的?错误是什么?谢谢(使用源代码版本<1.5)谢谢(使用源代码版本<1.5)
public class GlobalVariables {
interface Algorithm {
void executeAlgorithm();
}
public enum AlgorithmType {louvain, kmeans}
public enum Evolution {survive, merge, split, dissolve}
/**
* GED alpha threshold
*/
public static float GED_INCLUSION_ALPHA = 0.5f;
/**
* GED beta threshold
*/
public static float GED_INCLUSION_BETA = 0.7f;
public static void main(String[] args) {
AlgorithmType algorithmType = AlgorithmType.louvain; //initialize it from somewhere
Algorithm algorithm = null;
switch (algorithmType) {
case louvain: {
algorithm = new LouvainAlgorithmImplementation();
break;
}
case kmeans: {
algorithm = new KMeansAlgorithmImplementation();
break;
}
default: {
// do something for default;
algorithm = new DefaultAlgorithmImplementation();
}
}
algorithm.executeAlgorithm();
}
static class LouvainAlgorithmImplementation implements Algorithm {
@Override
public void executeAlgorithm() {
System.out.println("Louvain was called");
}
}
static class KMeansAlgorithmImplementation implements Algorithm {
@Override
public void executeAlgorithm() {
System.out.println("KMeans was called");
}
}
static class DefaultAlgorithmImplementation implements Algorithm {
@Override
public void executeAlgorithm() {
System.out.println("Default was called");
}
}
}