发现 com.bruceeckel.simpletest.OutputVerifier.java
编译无法通过
报告com\bruceeckel\simpletest\OutputVerifier.java:44: 无法将 java.lang.String 中的
compareTo(java.lang.String) 应用于 (java.lang.Object)
      throw new SimpleTestException(((String)out[i]).compareTo(expected[i]) < 0
                                    ^
注意: 某些输入文件使用了未经检查或不安全的操作。
注意: 要了解详细信息,请使用 -Xlint:unchecked 重新编译。
1 错误
所以,用com\bruceeckel\simpletest\>javac *.java
也是无法通过的
有人能解决吗?

解决方案 »

  1.   

    object转换为String
    toString
      

  2.   

    这个问题我也遇到了,在JDK1.4中好象没有,当ArrayList arr = new ArrayList();
    arr.add("a");时,也会有楼主一样的提示,当你只输入javac时,好象可以通过加入-nowarn来正常编译,个人理解为是因为新的java包不支持以前的老包。
      

  3.   

    ArrayList arr = new ArrayList(); 在jdk5中集合类用到了泛型。需要明确指定需要加入的类型。如果加入到ArrayList的是String类则ArrayList<String> arr = new ArrayList<String>();否则编译有警告。Think in Java,2nd Edition. 的例子都没有用到泛型,3rd Edition的例子不知道用到没,没看过3rd Edition。
      

  4.   

    我修改了源代码,    if(!Arrays.equals(expected, out)) {
          while(expected[i].equals(out[i])) {i++;}
          throw new SimpleTestException(out[i].compareTo((String)expected[i]) < 0
    已经搞定
    谢谢