2015-05-08 76 views
-1

從此改變了我的字符串後:我得到的字符串錯誤

String osver = System.getProperty("os.name"); 
    if (osver.contains("Mac")){ 
    String app = wd + "/relap5.x\""; 
    } else if (osver.contains("Windows")){ 
    String app = "relap5.exe"; 
    } else if (osver.contains("linux")) { 
    String app = "/relap5.x"; 
    } 

要這樣:

String[] osver = {System.getProperty("os.name")}; 
    if (osver.contains("Mac")){ 
    String[] app = {wd + "/relap5.x\""}; 
    } else if (osver.contains("Windows")){ 
    String[] app = {"relap5.exe"}; 
    } else if (osver.contains("linux")) { 
    String[] app = {"/relap5.x"}; 
    } 

我得到的錯誤。

Cannot find symbol 
symbol: method contains(String) 
Location variable osver of type string[] 
+0

使用'名單''而不是字符串[]'。 –

+0

你想要做什麼? –

+0

你想檢查平等嗎? –

回答

0

這是因爲Array不包含方法contains。你的意思是以下幾點:

String osver = System.getProperty("os.name"); 
    String app; 
    if (osver.equals("Mac")){ 
     app = "wd" + "/relap5.x\""; 
    } else if (osver.equals("Windows")){ 
     app = "relap5.exe"; 
    } else if (osver.equals("linux")) { 
     app = "/relap5.x"; 
    } 
    System.out.println(app); 

上面的代碼將檢查平等,但如果你要檢查遏制然後使用:

 String osver = System.getProperty("os.name"); 
     String app; 
     if (osver.contains("Mac")){ 
      app = "wd" + "/relap5.x\""; 
     } else if (osver.contains("Windows")){ 
      app = "relap5.exe"; 
     } else if (osver.contains("linux")) { 
      app = "/relap5.x"; 
     } 
     System.out.println(app); 
+0

那麼String()和String [] {}有什麼區別? –

+0

'String'是一個單獨的字符串。 'String []'是一個字符串數組。數組可以使用'{}'進行初始化 –

1

你不能這樣做包含了超過一個數組。 你可以交替做:

List<String> osver = Arrays.asList(System.getProperty("os.name")); 

    if (osver.contains("Mac")) { 
     String[] app = { wd + "/relap5.x\"" }; 
    } else if (osver.contains("Windows")) { 
     String[] app = { "relap5.exe" }; 
    } else if (osver.contains("linux")) { 
     String[] app = { "/relap5.x" }; 
    } 
相關問題