[英]How can I return int and string attributes in a single Java method?
[英]How can I return null in Java when the method is defined as int data type?
我一直在做一个代码,它强制使用数据类型不能是无效的,我不需要返回任何东西。
在 Java 中, null
只是引用类型的有效值。 它不能表示原始类型,例如int
。 以下是一些可供考虑的替代方案:
OptionalInt
类型来表示可能存在或不存在的int
值。 在这种情况下,如果没有要返回的int
值,您将返回OptionalInt.empty()
,而OptionalInt.of(x)
返回int x
。 请注意,调用者需要使用 class 上可用的其他方法之一来解开int
值(如果存在)。 这种方法通常是新代码的首选,因为它使意图和用法非常清楚。Integer
。 这是一个包装器null
用于允许返回 null 的int
值。 此外,当值不是null
时,Java 的自动拆箱规则允许它在需要int
值的上下文中使用。 但是,如果将null
值拆箱为int
值,则会导致NullPointerException
,因此在执行可能导致拆箱的操作之前检查null
非常重要。int
返回类型,通常使用一个哨兵值来表示异常返回。 例如,如果该方法的正常返回值都是非负整数,则可以使用诸如-1
之类的值来表示不存在的返回值。 这通常用于较旧的 JDK 方法,例如String.indexOf()
。Exception
是有意义的。 仅在真正异常的情况下使用这种方法是一个好主意,因为抛出异常的运行时成本远高于正常的方法返回,并且控制流会使代码更难理解。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.