java - 添加和使用新参数来运行

标签 java

我有一个这样的函数:

doSomething(){
  Object a = getA() //can return null
  // a lot of additional code
}

...但我想添加一种可能性,将对象 a 放入方法中,所以我创建了一个新方法:

doSomething(){
  doSomething(null);
}

doSomething(Object a){
  if(a == null){
    a = getA()
  }  
}

但这是不正确的,因为传递给方法的对象也可以为空,然后我想将其设置为空,而不是使用 getA() 方法,所以我做了这样的事情:

doSomething(){
  doSomething(null, false);
}

doSomething(Object a, boolean useObject){
  if(!useObject){
    a = getA()
  } 

但这看起来有点丑陋。有更好的解决方案吗?

最佳答案

怎么样:

doSomething()
{
    Object a = getA();
    doSomething(a);
}

doSomething(Object a)
{

}

这样,如果有人调用 doSomething(null),您就不会调用 getA()

关于java - 添加和使用新参数来运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559793/

相关文章:

java - 是否可以使用 XSLT 和 JXPath 转换 javabean?

java - Spring 在运行时缓存 : Enable/Disable Cache via application. 属性

java - Spring 启动 : Hibernate and Flyway boot order

java - Maven 忽略 JRE keystore

java - 解析大数字以删除逗号而不丢失 java 中的精度

java - ScheduledThreadPoolExecutor 的构造函数中 'core pool size' 的含义

java - 奇怪的 ArrayIndexOutOfBoundsException

java - Android FirebaseDatabase recyclerview 单个变量(userid)的 null 异常

java - 为什么 T 在 Collections.max() 签名中受 Object 限制?

java - 在 Java 中使用数组创建 Stack 类