簡體   English   中英

Java:從字符串獲取變量名

[英]Java: Getting a variable name from a string

我有一些這樣定義的變量。

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並調用Char(0)+“ Drive這樣的變量

您應該改用Map<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));

(或者,如果您真的只想讓鍵為單個字符,請使用Map<Character, String> -這是相同的想法。)

我將使用Guava親自創建一個不變的地圖,但是原理仍然是相同的-這將很明顯地表明您不會在構造后更改地圖的內容。

在運行時無法命名變量。 最好的選擇是使用地圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM