boolean值方法执行后未改变,这是因为在Java中,基本数据类型(如boolean)是按值传递的。将flag传递给check方法时,实际上是传递了flag的一个副本,而不是原始变量本身。因此,在方法内部对flag进行修改不会影响到方法外部的flag值。要解决这个问题,可以将flag封装在一个对象中,或者使用一个数组、集合等数据结构来存储flag。
public class Test {
public static void main(String[] args) {
boolean flag = false;
check(flag);
System.out.println(flag);
}
private static void check(boolean flag) {
if (1 == 1) {
flag = true;
return;
}
}
}