小编use*_*851的帖子

你应该为if语句创建变量吗?

我想知道,技术上最有效的方法是什么.

什么会更聪明的代码:

    if (args[0].toLowerCase().toString().equals("server")) {
        System.out.println("SERVER");
    }
Run Code Online (Sandbox Code Playgroud)

要么:

    String host = args[0].toLowerCase();

    if (host.equals("server")) {
        System.out.println("SERVER");
    }
Run Code Online (Sandbox Code Playgroud)

请记住,我知道这个变量是多余的.而且一个参数也可以包含一个数字,但这不是我的问题.这只是一个例子.

什么时候应该为if语句创建变量?总是?它更安全吗?我不应该这样做,因为我在浪费记忆吗?它会影响性能吗?

java performance if-statement memory-efficient

4
推荐指数
2
解决办法
93
查看次数

在对象上声明boolean,不会更改其值

我只是弄清楚实例变量是如何工作的,但它让我有些奇怪.

public class DrumKit {
    boolean topHat = true;
    boolean snare = true;

    void playTopHat() {
        System.out.println("ding ding da-ding");
    }

    void playSnare(){
        System.out.println("bang bang ba-bang");        
    }
}

public class DrumKitTestDrive {
    public static void main(String [] args) {

        DrumKit d = new DrumKit();
        d.playSnare();
        d.snare = false;
        d.playTopHat();

        if (d.snare == true);{
            d.playSnare();  
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

怎么可能输出:"bang bang ba-bang ding ding ding dang bang bang ba-bang"

而不是:"砰砰砰砰砰砰哒哒哒"

因为我认为圈套只会播放一次,因为我在d.playSnare()之后声明了它; 到d.snare = false;

java instance-variables

-1
推荐指数
1
解决办法
95
查看次数