使用类似三元的方法调用方法

Use ternary alike method for calling methods

众所周知,您可以像这样使用三元运算符:

String testString = "test";
int myInt = testString.equals("test") ? 1 : 2;

但是,我该如何使用方法呢? 假设我有以下内容:

String testString = "test";
if (testString.equals("test") {
    doSomething();
} else {
    doSomethingElse();
}

有没有什么东西可以像下面这样组合起来:

testString.equals("test") ? doSomething() : doSomethingElse();

在 Android studio 中使用时,会显示 "not a statement"

编辑 可以通过初始化一个局部变量来完成,但是有点不寻常。

public void test() {
    String testString = "test";
    boolean test = testString.equals("test") ? doSomething() : doSomethingElse(); 
}

public boolean doSomething() {
    return true;
}

public boolean doSomethingElse() {
    return false;
}

你只能写

testString.equals("test") ? doSomething() : doSomethingElse();

if doSomething()doSomethingElse() 都是 return something,并且那些 somethings 要么具有完全相同的类型,要么是 covariant 类型。将两个函数设置为 return a boolean 就足够了。

这是因为整个东西是一个表达式,而一个表达式有一个值和一个明确定义的类型。

如果您不想对 return 值执行任何操作,请使用 if 语句。