2015-05-08 56 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" }; 
    } 
相关问题