从词典比较的角度来看,Java中的第一个字符串是什么?

从词典比较的角度来看,Java中的第一个字符串是什么?,java,Java,我正在使用String.compareTo()方法进行字符串比较 考虑以下代码: String firstLexicon = "0"; String anyString = "anyString"; int result = firstLexicon.compareTo(anyString); firstLexicon的值是多少,以便方法firstLexicon.compareTo(anyString)对任何值都会给出一个否定的结果? 我最好的猜测是“0”firstLexicon应该是0以实

我正在使用String.compareTo()方法进行字符串比较

考虑以下代码:

String firstLexicon = "0"; 
String anyString = "anyString";
int result = firstLexicon.compareTo(anyString);
firstLexicon
的值是多少,以便方法
firstLexicon.compareTo(anyString)firstLexicon
,code>对任何值都会给出一个否定的结果?
我最好的猜测是“0”

firstLexicon应该是0以实现您想要的,只有一个例外,将“0”与自身进行比较将返回一个0


编辑:我错了,正确答案是空字符串“

空字符串(
)比任何其他字符串都小,因为第一个
min(firstLexicon.length(),anyString.length())
=0
)被比较,如果没有产生差异,较短的
字符串
是词典中较小的字符串。

它不能总是给出否定的结果。至少
firstLexicon.compareTo(firstLexicon)
将为
firstLexicon
的任何值返回0。您能给我们提供更大的上下文吗?你想达到什么目标?也许
可以为您工作?
可能是一个选项。上下文是此值将用作HBase中的开始键,用于保留扫描。
”的结果是什么。比较(“0”)
?或
“\0”
/
'\0'
(这是值为0的
字符,而不是0的字符)。它是
“0”之后的下一个字符串。compareTo(“”
返回1。