字符串“”(空字符串)的字符等价物是什么?

时间:2012-11-09 05:42:23

标签: java

  

可能重复:
  How to represent empty char in Java Character class

我正在使用java.lang.String中定义的replace函数,我尝试使用“\ 0”作为“”(空字符串)的等效项,但是它添加了空格而不是空字符串。

是否有空白字符串的等效字符?

5 个答案:

答案 0 :(得分:6)

没有“空角色”这样的东西。 char是值类型,因此它必须具有值。缺少值是缺少char - 这就是为什么你可以有空字符串(即“无字符”)和可空字符,但不是“空字符”。

无论如何,String.replace(char, char)方法意味着将一个字符替换为另一个字符。此操作非常简单,因为这意味着必须分配已知大小的单个块。而String.replaceAll(string,string)是一种相当复杂的实施方法,这就是它们不同的原因。

不幸的是没有String.replace(char,string)方法 - 但我希望你能理解为什么。

答案 1 :(得分:1)

给定的String中有无限多的空白String ... 'a''b'"ab"之间有多少“nothings”?这就像是除以零!

答案 2 :(得分:1)

我想说你想用“”代替“某事”,你不能反过来......

       String ou="test";
       ou = ou.replace("t", "");
       System.out.println(ou);

输出将是:es

使用char版本的替换版本不起作用,因为''不是有效的char

答案 3 :(得分:1)

如果要删除字符,则无法使用String.replace(char,char)。没有空角色。该方法永远不会改变字符串的长度,它只是用另一个字符

替换一个字符

您必须使用String.replaceAll(java.lang.String, java.lang.String)(或replaceFirst

"ababababa".replaceAll("a", ""); // returns "bbbb"

答案 4 :(得分:0)

没有,但注意到有String.replace(CharSequence, CharSequence),所以你应该能够用一个字符串作为第一个参数调用String.replace,并将“”作为第二个参数。