日期:2014-05-20  浏览次数:20771 次

关于一个错误提示
无法将   java.lang.String   中的   compareTo(java.lang.String)   应用于   (java.lang.Object)

这个错误提示是什么意思啊?下面是出错的代码
((String)out[i]).compareTo(expected[i]) <   0
                    ?   "output:   < "   +   out[i]   +   "> "
                    :   "expected:   < "   +   expected[i]   +   "> ");

同时问一下这个错误提示是什么意思:
Test.java   使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用   -Xlint:unchecked   重新编译。

这些都是编译thinking   in   java   3rd书上的源代码时给的错误提示

------解决方案--------------------
((String)out[i]).compareTo(expected[i])
你的expected是Object数组吧,所以String .compareTo(String),参数只能是String的。
如果是初学java最后不要用thinking in java当入门教材,这本书讲的都是些细枝末节的东西,容易绕进去出不来,当入门教材不合适。我推荐看Core Java,这本书讲的简单写。