当前位置: 首页 > 面试题库 >

Java中是否有等效于C#中的空合并运算符(??)的Java?

吴缪文
2023-03-14
问题内容

是否可以在Java中执行类似于以下代码的操作

int y = x ?? -1;

问题答案:

可悲的是没有。您能做的最接近的是:

int y = (x != null) ? x : -1;

当然,如果您有需要的话,可以将其包装在库方法中(不太可能减少长度),但是在语法级别上没有更简洁的方法了。



 类似资料:
  • 问题内容: Javascript中是否存在空合并运算符? 例如,在C#中,我可以这样做: 我可以为Javascript找到的最佳近似是使用条件运算符: 这有点怪异恕我直言。我可以做得更好吗? 问题答案: 更新资料 JavaScript现在支持无效的合并运算符(??)。当其左侧操作数为或时,它返回其右侧操作数,否则返回其左侧操作数。 使用前请检查兼容性。 与C#null合并运算符()等效的JavaS

  • 问题内容: 在C#中,有一个null-coalescing运算符(写为),允许在赋值期间进行简单(简短)的null检查: 有python等效项吗? 我知道我可以做到: 但是,还有没有更短的方法(我不需要重复)? 问题答案: 好的,必须澄清操作员的工作方式。它是一个布尔运算符,因此可以在布尔上下文中工作。如果值不是布尔值,则出于运算符的目的,它们将转换为布尔值。 请注意,运算符不会仅返回或。相反,如

  • 问题内容: PHP中是否存在像C#一样的三元运算符? 在C#中更干净,更短,但是在PHP中,您必须执行以下操作: 问题答案: PHP 7添加了空合并运算符: 您还可以看一下编写PHP三元运算符?的简短方法:(仅PHP> = 5.3) 而且您与C#的比较是不公平的。“在PHP中,您必须做类似的事情”-在C#中,如果您尝试访问不存在的数组/字典项,那么还将出现运行时错误。

  • 问题内容: 我知道我们可以使用Java中的方法通过指定其位置来获取字符串中的单个字符。C#中有等效的方法吗? 问题答案: 您可以像数组一样索引C#中的字符串,然后在该索引处获取字符。 例: 在Java中,您会说 在C#中,您会说

  • 本文向大家介绍C#是否等效于Java的Thread.setDaemon?,包括了C#是否等效于Java的Thread.setDaemon?的使用技巧和注意事项,需要的朋友参考一下 与Java的Thread.setDaemon等效的C#是前台线程和后台线程的概念。 当前台线程关闭时,后台线程将终止。前台线程继续运行,直到最后一个前台线程终止。 用于后台线程的属性是IsBackground,该属性获取

  • 问题内容: 我经常使用Python,现在我正在快速学习JavaScript(或者应该说是重新学习)。所以,我想问问,JavaScript和的等效之处是什么? 问题答案: 最接近的成语是 利用函数定义中给定的参数个数这一事实。 您可以将其打包到一些帮助程序中,例如 然后做 如果您想使用语法糖,请编写一个函数,该函数将一个函数转换为另一个函数,该函数使用必需和可选参数调用,并将必需参数以及任何其他可选