Java是否为任何字符(如空格键)定义了常量?

2022-09-02 01:20:05

Java 是否包含单个字符(如空格键)的任何常量?

在进行字符串操作时,从Unicode中获取名称会很方便。

我想要这个:

String musician = "Lisa" + Character.SPACE + "Coleman" ;

...而不是这个:

String musician = "Lisa" + " " + "Coleman" ;

(不要与java.lang.Character类混淆)

如果没有与Java捆绑在一起,那么替代方案呢?


答案 1

在Apache Commons中有一些

org.apache.commons.lang3.StringUtils.SPACE

更多


答案 2

没有这样的常数,并且有充分的理由,海事组织。

为什么在示例中首先使用常量?

String musician = "Lisa" + Character.SPACE + "Coleman" ;

可读性低于

String musician = "Lisa Coleman";

甚至比

String musician = "Lisa" + ' ' + "Coleman";

所以我想这不是出于可读性的原因。

因此,我猜你想要一个常量来避免在代码的几个部分重复自己。但是,使用而不是无处不在并不会导致更少的重复。只有更详细和可读性更低的代码。Character.SPACE' '

因此,我猜您希望能够在一个地方更改常量值,并在使用的地方更改它。但是,使用内置常量并不能让你实现这个目标。您仍然需要自己的常量,它的名称不应该是值是什么,而是值的用途Character.SPACE

private static final char FIRST_NAME_LAST_NAME_SEPARATOR = ' ';

现在,有一个很好的理由使用该常量:如果您以后决定使用制表符而不是空格,则可以更改常量的值并重新编译所有代码。


推荐