栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java三元组,无需分配

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java三元组,无需分配

不,你不能那样做。该规范是这么说的。

条件运算符具有三个操作数表达式。?:出现在第一和第二个表达式之间,而:出现在第二和第三个表达式之间。

第一个表达式的类型必须为boolean或Boolean,否则会发生编译时错误。

第二个操作数 表达式 或第三个操作数 表达式调用 void 方法 都是编译时错误

[编辑]

由于您询问反射问题,因此这里有一个解决方案。我不建议这样做。我发布它只是因为你问。

public class MyCall{    public void a(){System.out.println("a");}    public void b(){System.out.println("b");}    public static void main(String... args)    {        new MyCall().go();    }    public void go()    {        Class<? extends MyCall> class1 = this.getClass();        Method aMethod = class1.getMethod("b", null);        Method bMethod = class1.getMethod("a", null);        Object fake = false ? aMethod.invoke(this, null) : bMethod.invoke(this, null);        Object fake2 = true ? aMethod.invoke(this, null) : bMethod.invoke(this, null);    }}

在一天结束时,您必须问自己是否简洁可以提高代码的可读性(想想每个循环)。这些解决方案都不能提高代码的可读性恕我直言。如果我是你,我宁愿去。

if(condition)    a();else    b();

实际上 即使循环只包含一行,我还是要包含括号,但是由于要使用清晰的代码,因此上面的代码片段应该可以。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427811.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号