[英]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.