String.CASE_INSENSITIVE_ORDER 这个是String 里的一个
public static final Comparator<String> CASE_INSENSITIVE_ORDER
= new CaseInsensitiveComparator(); 方法
所以 你使用String.CASE_INSENSITIVE_ORDER 实际上是一个对象,而非一个变量,所以是不能直接用 " + "的
代码示意如下:- public class Demo {
- public static void main(String[] args) throws Exception {
- String str = "bean.Student";
- final String s = "";
- System.out.println(Integer.MAX_VALUE + s);//不报错 s是数据值
- System.out.println(Integer.MAX_VALUE + " " + String.CASE_INSENSITIVE_ORDER);//不报错 把那个对象和 " "连接起来成了字符串
- System.out.println(Integer.MAX_VALUE + "" + new Demo());//同上
- System.out.println(Integer.MAX_VALUE + String.CASE_INSENSITIVE_ORDER);//报错String.CASE_INSENSITIVE_ORDER是一个对象 不能直接使用 " + "
- System.out.println(Integer.MAX_VALUE + new Demo());//报错 new Demo();是一个对象 不能直接使用 " + "
- System.out.println(String.CASE_INSENSITIVE_ORDER);//输出java.lang.String$CaseInsensitiveComparator@5483cd 是String中的 CaseInsensitiveComparator 对象
- }
- }
复制代码 |