Java是否为任何字符(如SPACE)定义了常量?
Java是否包含单个字符的任何常量,如SPACE?Java是否为任何字符(如SPACE)定义了常量?
在进行字符串操作时,从Unicode获取名称将会非常方便。
我想这一点:
String musician = "Lisa" + Character.SPACE + "Coleman" ;
...而不是这样的:
String musician = "Lisa" + " " + "Coleman" ;
(不要与java.lang.Character类混淆)
如果没有被绑定到Java,替代品?
有没有这样的常数,并有充分的理由,国际海事组织。
为什么在你的例子中首先使用一个常量?
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 = ' ';
现在,有一个很好的理由使用常数:如果您稍后决定使用制表符而不是空格,则可以更改常量的值并重新编译所有代码。
你的意思是“Lisa Coleman”或“Lisa Coleman”或“Lisa Coleman”?一个拥有一个空间,另一个拥有双重空间,另一个拥有[非破坏空间](https://en.wikipedia.org/wiki/Non-breaking_space)。也许你从来没有被这种模糊不清的东西烧毁,但我已经。 –
然后定义你自己的常数,正如我的答案所示。或者写一个连接名称部分和你想要的分隔符的方法。哪里有问题? –
因为定义自己的[DayOfWeek](http://docs.oracle.com/javase/8/docs/api/java/time/DayOfWeek.html)常量或[Month](http:// docs.oracle.com/javase/8/docs/api/java/time/Month.html)如果已经定义,则为常量。同样为Unicode字符定义常量。 –
Java确实有一个字符常量列表,用于替换“不可类型”字符,如退格符(由\ r表示)。完整名单可在https://docstore.mik.ua/orelly/java-ent/jenut/ch10_05.htm 找到然而这里是几个例子:
\\ Backslash
\r Carriage Return
\" Double Quote (same for single Quote)
\n Newline
你的想法。希望这是你所寻找的,因为你在标题中提到了字符常量。
编辑:使用字符常量作为字符用单引号括住它们而不是双引号。尽管有两个(或更多)字符,但它们表示单个字符或单个二进制数字而不是字符串。
注意:当试图比较java.awt.event.KeyListener
keyTyped函数中的“输入”字符时,\n
字符常量应该是用户而不是\r
字符常量。
我认为这将exaplain:http://*.com/a/21437830/460557 –
有人这样做:http://blog.code-cop.org/2007/08/java-unicode-constants.html不知道它是如何有用的**每个** Unicode字符命名像那样。我建议你只列出你需要的几个*特殊的*(并且不,空间不是特别的)。 – Andreas