字符串替换Java函数

时间:2015-05-29 20:02:29

标签: java string class replace bukkit

  1. 我尝试在多个类中使用函数
  2. 替换多个字符串
  3. 为什么这个例子不起作用?

    public static String symbole(String sym)
     {  
    sym = sym.replace("&" , "§");
    sym = sym.replace("[<3]" , "\u2764");
    return sym;
    }
    String test = "This Dont work... why [<3]";
    symbole(test);
    
  4. 我该如何替换这个...... 任何建议? 请帮助和抱歉我完美的英语

2 个答案:

答案 0 :(得分:2)

以下声明:

unsigned char*

可以使用“心脏”字符替换ptr

我想你的问题是你认为sym.replace("[<3]", "\u2764"); 在将它传递给方法时会被修改。这不起作用,因为[<3]是不可变的;调用test实际上会返回新的 String实例。您无法将其分配回replace并期望String更改,因为Java是按值传递的,并且您无法重置引用。但是,由于您已经返回修改后的字符串,因此您只需将返回值分配回sym

test

如果需要,您也可以将其分配给新变量:

test

答案 1 :(得分:2)

您的问题很可能是因为您希望您的函数改变您传递给方法的原始String。

字符串在java中是不可变的,此外,您无法修改从该方法传递给方法的原始引用。

要获得您最可能期望的结果,请将方法中的返回值存储在新引用中,或将测试引用指向返回的String。

所以你可以尝试:

test = symbole(test);

String replacedTest = symbole(test):
相关问题