A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

if(lighted==true)和if(lighted) 他们之间的区别是什么?不是很理解 大家说下 各种用法的好处
ScheduledExecutorService timer = Executors.newScheduledThreadPool(1);
                timer.scheduleAtFixedRate(
                                new Runnable(){
                                        public void run() {
                                                if(vechicles.size()>0){
                                                        boolean lighted = true;
                                                        //if(lighted==true)
                                                        if(lighted)
                                                        {
                                                                //remove返回值是什么  正在取得的那个值
                                                                System.out.println(vechicles.remove(0) + "is traversing !");
                                                        }
                                                }
                                        }                                       
                                },
                                1, //initialDelay
                                1, //period
                                TimeUnit.SECONDS);//unit

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

3 个回复

倒序浏览
if是判定语句,括号中运算的结果不是true就是false,而lighted就是boolean型的变量,直接if(lighted)就能判断真假了,效率当然比if(lighted == true)判断2次来得快。
回复 使用道具 举报 1 0
1.如果是if(lighted==true)
首先需要判断lighted == true,当为true的时候则会变成
if(true)然后if再判断()里面的布尔值是true还是false。
总共进行了两次的判断。
2.如果是if(lighted),
则if直接判断()里面的布尔值是true还是false。
总共进行了一次的判断。
在没有对lighted有什么特殊需求是则使用第二种。
但比如当我的lighted是不亮的情况,我才能XX。
if语句只控制我XX,则只有if()没有else那么使用第一种。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
1.如果是if(lighted==true),要判断lighted == true,条件满足才会执行下面的,布尔值的真假,总共进行了两次的判断。
2.如果是if(lighted),if会直接判断()里面的布尔值的真假,进行了一次的判断。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马