我正在尝试用另一个字符替换字符串的字符但不能这样做。我已经使用了String函数 代码。
String text;
text="2:15";
if(text.contains(":"))
{
replace(":",".");
}
Log.i("Tag",text);
我想将2:15更改为2.15,但它保持不变。
答案 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将最终替换为空。