我试图从Java的枚举中得到File
,就像每当我输入DBIO.DBFOLDER
时,它应该转换成我指定的文件。有什么方法可以做到吗?
package test.Test;
import java.io.File;
public enum DBIO{
DBFOLDER(),DBFILE();
public File DBFOLDER(){
return new File("project/DBFolder");
}
public File DBFILE(){
return new File(DBFOLDER()+"/DBFile");
}
}
以上代码不起作用;我做这个只是为了展示我想让它做什么。
3条答案
按热度按时间z9gpfhce1#
我不确定是否会将
enum
用于此用例,但是,您需要将每个enum
用例与一个值相关联,例如......所以如果你要做一些像...
它会打印...
n3ipq98p2#
你可以使用valueOf()方法来获取对应于给定String的Enum值。2如果你想获取与Enum相关的File,你需要将File作为一个字段存储在Enum类中,并提供一个getter方法来访问它。
下面是一个Enum类的示例,它存储File并提供getter方法来访问它:
然后可以使用getter方法访问与Enum关联的文件,如下所示
qacovj5a3#
你可以这样做:
我们使用Get接口的匿名类仅在请求时加载文件。
如果我们直接传递,文件将加载一次并保存在内存中,始终共享一个引用。
你可以用lambda替换匿名类: