字符串替换 Java 函数

String Replace Java Function

  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);
    

我该如何替换这个... 有什么建议吗? 请帮忙,对不起我完美的英语

以下声明:

sym.replace("[<3]", "\u2764");

有效并将 [<3] 替换为 "heart" 字符。

我想你的问题是你认为 test 在你传递给方法时会被修改。这行不通,因为 String 是不可变的;调用 replace 实际上 return 是一个 new String 实例。您不能将其分配回 sym 并期望 test 发生更改,因为 Java 是按值传递的并且您无法重新设置引用。但是,由于您已经 return 修改了字符串,您只需将 return 值分配回 test:

test = symbole(test);

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

String modified = symbole(test);

你的问题很可能是因为你希望你的函数改变你传递给方法的原始字符串。

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

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

所以你可以试试:

test = symbole(test);

String replacedTest = symbole(test):