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