0

我有一些像这样定义的变量。

public final static String pDrive = "\\\\fs-innova1\\projects\\";
public final static String hDrive = "\\\\fs-innova1\\hr-department\\";
public final static String iDrive = "\\\\fs-innova1\\innova\\";

然后稍后在我的程序中,我有一个字符串,上面写着“p:\blah\blah\blah”我想查看该字符串中的第一个字符并调用像 Char(0)+"Drive 这样的变量

4

2 回答 2

3

您应该使用 aMap<String, String>代替:

private static final Map<String, String> DRIVE_MAPPINGS = new HashMap<>();

static {
    DRIVE_MAPPINGS.put("p", "\\\\fs-innova1\\projects\\");
    DRIVE_MAPPINGS.put("h", "\\\\fs-innova1\\hr-department\\");
    DRIVE_MAPPINGS.put("i", "\\\\fs-innova1\\innova\\");
}

然后使用

String mapping = DRIVE_MAPPINGS.get(input.substring(0, 1));

(或者,如果您真的只希望键是单个字符,请使用 a Map<Character, String>- 这是相同的想法。)

我个人会使用Guava创建一个不可变的地图,但原理还是一样的——这只会让你很明显不会在构建后更改地图的内容。

于 2013-10-30T17:33:33.933 回答
0

在运行时命名变量是不可能的。你最好的选择是使用地图。

于 2013-10-30T17:56:50.807 回答