0

私は方法を持っていますprintB()

private static final void printB () {
    System.out.println(Boolean.TRUE); 
    System.out.println(Boolean.FALSE);     
}

そして私にはクラスがあります

public class ChangeBooleanValue {
    public static void main(String[] args) {
        // Add code
        printB();      
    }


    private static final void printB () {
        System.out.println(Boolean.TRUE);     
        System.out.println(Boolean.FALSE); 
    } 
}

// Add Code出力が次のようになるように、の代わりにコードを書きたいと思います。

true 
true

また

false
false

いくつかのJavaトリックを使用して可能であることを知っています。

4

4 に答える 4

2

次のようなことができます:

System.out.println(true);
System.out.println(true);
System.exit(0);

で同じことができますfalse


完全なコードは次のようになります。

public class ChangeBooleanValue {
    public static void main(String[] args) {
        System.out.println(true);  // <--
        System.out.println(true);  // <--
        System.exit(0);            // <--
        printB();      
    }


    private static final void printB() {
        System.out.println(Boolean.TRUE);     
        System.out.println(Boolean.FALSE); 
    } 
}
于 2013-09-02T13:04:19.727 に答える
1

リフレクションを使用して変更することBoolean.TRUE = Boolean.FALSEも、その逆も可能です。そうする正当な理由があるわけではありません。

これを行う別の方法は、独自のバージョンの Boolean クラスをコンパイルし、それを使用してやりたいことを行うことですが、これもまったく正気ではありません。

于 2013-09-02T13:06:35.920 に答える