[英]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.