Tôi có câu hỏi về các giá trị boolean trong Java. Giả sử tôi có một chương trình như sau:Thay đổi giá trị boolean?
boolean test = false;
...
foo(test)
foo2(test)
foo(Boolean test){
test = true;
}
foo2(Boolean test){
if(test)
//Doesn't go in here
}
Tôi nhận thấy rằng trong foo2, phép thử boolean không thay đổi và do đó không đi vào câu lệnh if. Làm thế nào tôi sẽ đi về việc thay đổi nó sau đó? Tôi nhìn vào giá trị Boolean nhưng tôi không thể tìm thấy một chức năng mà sẽ "thiết lập" thử nghiệm từ đúng sang sai. Nếu có ai có thể giúp tôi thì điều đó thật tuyệt.
Java của bạn được truyền theo giá trị. Biến biến một biến mẫu và sửa đổi và kiểm tra biến đó. –
@SotiriosDelimanolis Yes. Nhưng giá trị của một java.lang.Object (và các kiểu con, đó là bất kỳ kiểu nguyên thủy nào) là địa chỉ tham chiếu. –
@ElliottFrisch Tôi không thấy _but_ xuất hiện ở đâu. –