Java枚举怎么输出枚举的每个值的对应的变量名?枚举怎么转换成二维字符串呢?枚举转换的思路是什么?用不用函数才能转换呢
java里内置方法就能实现,这个案例csdn有很多,第一个是name方法,第二个是values
enum MyEnum {
VALUE1,
VALUE2,
VALUE3
}
public class EnumToStringArrayExample {
public static void main(String[] args) {
MyEnum[] values = MyEnum.values();
String[][] enumToStringArray = new String[values.length][2];
for (int i = 0; i < values.length; i++) {
enumToStringArray[i][0] = values[i].name();
enumToStringArray[i][1] = values[i].toString();
}
// 输出二维字符串数组
for (String[] pair : enumToStringArray) {
System.out.println(pair[0] + ": " + pair[1]);
}
}
}
不知道你这个问题是否已经解决, 如果还没有解决的话:答:对于GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。通常,GC 采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC 确定一些对象为"不可达"时,GC 就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC 运行,但是Java 语言规范并不保证GC 一定会执行。
在Java中,可以使用Enum类来定义枚举类型。要输出枚举的每个值对应的变量名,可以通过遍历枚举的所有值,并调用name()方法来获取变量名。下面是一个示例代码:
enum Fruit {
APPLE, ORANGE, BANANA
}
public class EnumExample {
public static void main(String[] args) {
for(Fruit fruit : Fruit.values()) {
System.out.println(fruit.name());
}
}
}
运行以上代码,会输出枚举类型Fruit的每个值对应的变量名:
APPLE
ORANGE
BANANA
至于将枚举转换为二维字符串的思路,可以根据枚举的定义,使用二维数组来表示枚举值和对应的变量名。每一行表示一个枚举值及其对应的变量名。可以使用一个函数来完成这个转换过程。以下是一个示例代码:
enum Fruit {
APPLE("苹果"), ORANGE("橘子"), BANANA("香蕉");
private String name;
private Fruit(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class EnumToStringArrayExample {
public static String[][] convertEnumToStringArray(Enum<?>[] enums) {
String[][] result = new String[enums.length][2];
for(int i = 0; i < enums.length; i++) {
result[i][0] = enums[i].toString();
result[i][1] = ((Fruit)enums[i]).getName();
}
return result;
}
public static void main(String[] args) {
Fruit[] fruits = Fruit.values();
String[][] strings = convertEnumToStringArray(fruits);
for(String[] stringArray : strings) {
System.out.println(stringArray[0] + ": " + stringArray[1]);
}
}
}
运行以上代码,会输出以二维数组表示的枚举值和对应的变量名:
APPLE: 苹果
ORANGE: 橘子
BANANA: 香蕉
希望以上解决方案对您有帮助。