public class LiftOff implements Runnable { protected int countDown = 10; private static int taskCount = 0; private final int id = taskCount++; public LiftOff() { } public LiftOff(int countDown) {
this.countDown = countDown;
} public String status() {
return "#" + id + "(" + (countDown > 0 ? countDown : "LiftOff!") + ").";
} public void run() {
while (countDown-- > 0) {
System.out.println(status());
Thread.yield();
} }}编译不能通过,是作者写错了么? 出错地方就是那个三目表达式. eclipse显示类型不匹配

解决方案 »

  1.   

    没有错误呀
    编译正常
    写个main方法启动线程正常结果:
    #0(9).
    #0(8).
    #0(7).
    #0(6).
    #0(5).
    #0(4).
    #0(3).
    #0(2).
    #0(1).
    #0(LiftOff!).
      

  2.   

    1。4编译不通过
    1。5以上ok
    1.4要求三目类型要相同 或者可以自动转换成的(例如char转int)
      

  3.   

    我在命令行模式编译通过,应该是我的eclipse出问题了.
      

  4.   

    你机子的jdk级别高
    但是项目的编译级别低 或者是 工作空间整个的编译级别低
      

  5.   


    应该是这个问题,我换1.6就OK了thanks