class compare { static void show(Object o)
{
System.out.println(o);
}
public static void main (String[] args) {
String str1="this";
show(str1.compareTo("thit"));
show(str1.compareToIgnoreCase("This"));
show(str1.compareTo("This"));
}
}出现错误:
F:\Java\程序文件\compare.java:17: show(java.lang.Object) in compare cannot be applied to (int)
show(str1.compareTo("thit"));
^
F:\Java\程序文件\compare.java:18: show(java.lang.Object) in compare cannot be applied to (int)
show(str1.compareToIgnoreCase("This"));
^
F:\Java\程序文件\compare.java:19: show(java.lang.Object) in compare cannot be applied to (int)
show(str1.compareTo("This"));
^
3 errors请大家指教为什么出现这错误!
因为String.compareTo(String) 返回的是int型,而你的show方法的参数是object的
如果不自动转成Integer就会报错
{
System.out.println(o);
}
public static void main (String[] args) {
String str1="this";
show(Integer.valueOf(str1.compareTo("thit")));
show(Integer.valueOf(str1.compareToIgnoreCase("This")));
show(Integer.valueOf(str1.compareTo("This")));
}