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显示类型不匹配
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显示类型不匹配
编译正常
写个main方法启动线程正常结果:
#0(9).
#0(8).
#0(7).
#0(6).
#0(5).
#0(4).
#0(3).
#0(2).
#0(1).
#0(LiftOff!).
1。5以上ok
1.4要求三目类型要相同 或者可以自动转换成的(例如char转int)
但是项目的编译级别低 或者是 工作空间整个的编译级别低
应该是这个问题,我换1.6就OK了thanks