小编use*_*060的帖子

java在调用方法中不更改布尔值

我有一个场景,我想设置一个Boolean对象,然后booleanValue()在方法中的构造函数中使用它.但是,设置对象的范围是不同的.它是在方法调用的方法中设置的,其中首先实例化对象.根据我对Java如何通过原始和对象参数和在线阅读的几个职位(如理解这个),当一个对象被传递给方法,它的属性是通过引用传递和调用方法的任何变化应在体现调用方法完成执行后调用方法.但是我注意到,当被调用的方法完成时,其中的任何更改都不会在调用方法中生效.

这是我的场景的快照:

private CustomObject1 callingMethod(){
    Boolean b = Boolean.TRUE;
    List<CustomObject2> list = this.calledMethod(b);
    //Create CustomObject1 with b.booleanValue() as one of the arguments in the constructor
}

private List<CustomObject2> calledMethod(Boolean b){
    ...
    ...
    if(condition){
        b = Boolean.FALSE;
    }
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

到代码到达时,CustomObject创建b.booleanValue()始终为true,即使if语句callingMethod()为true且Boolean在该方法中设置为false.

我不愿意将调用方法的返回类型更改为,boolean因为它需要更改可能调用此方法的其他代码位.目前他们只需要签名更改但返回类型更改需要更多工作,因为需要维护逻辑(即填充列表然后使用它执行某些操作)

java pass-by-reference pass-by-value

8
推荐指数
2
解决办法
2万
查看次数

intellij IDEA 导入设置

我正在尝试从其他人的 IntelliJ IDEA 安装导入设置。我按照 JetBrains此处提供的说明进行操作,并收到了表明它已起作用的消息。但在重新启动 IDE 后,我发现设置尚未导入,但设置与我尝试导入其他设置之前的设置完全相同。

如果有帮助我使用 IntelliJ 12.1.7

编辑:我刚刚尝试过这种方法,但没有成功。

import intellij-idea

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