Android String.replace无法正常工作

时间:2015-02-04 05:43:54

标签: java android string

我正在尝试用另一个字符替换字符串的字符但不能这样做。我已经使用了String函数 代码。

String text;
text="2:15";
if(text.contains(":"))
{
    replace(":",".");
}
Log.i("Tag",text);

我想将2:15更改为2.15,但它保持不变。

3 个答案:

答案 0 :(得分:3)

String text;
text= "2:15";
if(text.contains(":"))
{
    replace(":","."); // Will not cause anything as String is immutable. 
}
Log.i("Tag",text);

更改为

String text;
text="2:15";
if(text.contains(":")){
   text = text.replace(":",".");
}
Log.i("Tag",text);

阅读字符串及其不可变属性。

答案 1 :(得分:2)

字符串在Java中是不可变的 - 替换不会更改现有字符串,它会返回一个新字符串。你想要:

String text="2:15";
if(text.contain(":"))
{
    text = text.replace(":",".");
}
Log.i("Tag",text);

答案 2 :(得分:1)

使用这段代码

String text = "2:15";
text = text.replace(":",".");
  • text.replace(":",".");会返回一个新字符串,因此您必须将其分配给某个变量。在这种情况下text
  • 我还删除了text.contains(":"),因为它是一个不必要的调用,如果不包含要替换的字符串,replace将最终替换为空。