= での比較がうまくいかない


以前の質問の意図を簡略化するために改めて書いたコードですTimerTaskを使い制御するのでbreakなどの制御文は使えないです。何故Lをfalseにしてるのに終わらないのですか？

[code]

    public class Main  {
    
        public static void main(String[] args)  {
            boolean K = true;
            boolean L = true;
    
            while(and(K,L)){
                System.out.println("test");
                L = false;
            }
        }
    
        public static boolean and(boolean a, boolean b){
            if(a = true){
                if(b = true){
                    return true;
                }
            }
            return false;
        }
    
    }
    
[/code]




`=`だと代入になります。比較演算子の `==` を使うと動くはずです。

[code]

    if(a == true){
    
[/code]

もしくは、

[code]

    if(a){
    
[/code]

だけでもいいですね。

