2017-05-08 19 views
-1
public class MainWindow { 
    public static void main(String[] args) { 
     String s = "88,24"; 

     if(s.contains(",")){ 
      s.replaceAll(",", "."); 
      System.out.println(s); 
     } 
    } 
} 

對於我正在研究的新應用程序,我必須能夠用一個。但我還沒有成功。有誰知道一種方法來做到這一點?調用string.replaceAll()不工作?

+1

's = s.replaceAll(「,」,「。」);' – Eran

+1

'replaceAll'返回一個新的String。你必須使用那個。 –

+3

請記住,'字符串'是不可變的,沒有什麼可以更新它,甚至他自己的方法不會更新實例 – AxelH

回答

4

字符串是不可變。他們的內容可以在創建時更改爲而不是

因此任何方法改變字符串對象將返回改變值給呼叫方的內容。無論你更換,CONCAT,...

因此,你需要

s = s.replace ... 

參考s點到更新字符串值。

+0

我會把更多的斜體上「變化」;) – AxelH

+1

有趣的是,我們在法語中有同樣的說法;)所以我明白了! – AxelH

1

ReplaceAll不在本質上。 所以,你必須明確地把它分配給s。 這是代碼。

public class MainWindow { 
    public static void main(String[] args) { 
     String s = "88,24"; 

     if(s.contains(",")){ 
      s = s.replaceAll(",", "."); 
      System.out.println(s); 
     } 
    } 
}