繁体   English   中英

Java国际化规则

[英]java internationalization rules

Java国际化规则 它说要替换

s1.compareTo(s)==0

Collator.compare(s1,s2)<0

为什么<0

基于Javadoc ,它是一个拼写错误-应该为==

返回一个整数值。 如果源小于目标,则值小于零;如果源与目标相等,则值为零;如果源大于目标,则值大于零。

这是针对Collator.compareString重载(如链接的示例比较String ),但是该方法的常规版本具有相同的行为。

您所引用的文章间接链接到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;
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM