【问题标题】:Strings in android/java, replace() does nothingandroid/java 中的字符串,replace() 什么都不做
【发布时间】:2011-06-11 11:03:18
【问题描述】:

在 android/java 中,我试图用 + 替换某些字符串中的空格,但它似乎不起作用。我做错了吗?

String string="Hello world";
string.replace(" ", "+");

【问题讨论】:

  • 我假设它只是为了这个例子,但我只想指出我不会将变量命名为“字符串”......
  • 如果您这样做是为了进行 url 编码,请查看 URLEncoder 类

标签: java android string replace space


【解决方案1】:

String 对象是不可变的,因此replace 方法不会更改字符串,而是创建一个您必须重新保存的新字符串:

String string="Hello world";
string = string.replace(" ", "+");

【讨论】:

  • +1 没错。 String.replace 返回一个字符串。它是一个访问器,而不是一个直接的 mutator。
  • @jor - 如果这是正确答案,请选中它旁边的框,以便 @Cristian 获得信任。
【解决方案2】:

在 Java 中,StringBuffer 类提供了一个可变字符串。 replace 方法将返回相同的对象。

【讨论】:

    猜你喜欢
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多