Java Internationalization Rules。它說,與java國際化規則
Collator.compare(s1,s2)<0
爲什麼<0
更換
s1.compareTo(s)==0
?
Java Internationalization Rules。它說,與java國際化規則
Collator.compare(s1,s2)<0
爲什麼<0
更換
s1.compareTo(s)==0
?
基於the Javadoc,它是一個錯字 - 應該是==
:
返回一個整數值。如果源小於目標,則值小於零;如果源和目標相等,則值爲零;如果源大於目標,則值大於零。
這是String
過載的Collator.compare
(作爲鏈接實施例比較String
多個),但the general version of the method行爲相同的方式。
您介紹的文章鏈接到the corresponding page of the Java Tutorial,其中描述的行爲與上述一致。
我不知道,你應該靠這個網站時,我看到了下一個點......它創造了一個整理機總是返回0。
package com.rule;
public class Do_not_use_String_compareToIgnoreCase_correction
{
public void method()
{
new MyCollator().compare("String", "String"); // CORRECTION
}
class MyCollator extends java.text.Collator
{
public int compare(String source, String target)
{
return 0;
}
public java.text.CollationKey getCollationKey(String source)
{
return null;
}
public int hashCode()
{
return 0;
}
}
}
,這只是爲了舉例定義自定義排序器 – prongs
@prongs那麼即使例如我不會創建一個方法int add(int,int)與'return 2'裏面,因爲我的例子是'add(1,1)'。有些人只是複製/粘貼而不理解任何內容 –