我编写了一个方法,可以返回 Android 上最有可能的 LAN 接口。由于用户可能未连接到 LAN,因此此方法可能返回 null。我应该如何在 JavaDoc 中警告调用者这种可能性?我认为我不应该使用@throws,因为该方法实际上并没有抛出 NullPointerException。
问问题
43 次
1 回答
0
我认为正确的方法是在 return 子句中:
/**
* ...
* @return {@code null} if the user is not connected to a LAN, else the most
* likely LAN interface.
*/
public LanInterface getMostLikelyInterface();
调用者有责任知道这意味着在检查之前不要使用返回的值。
尽管您可以改用 Guavas 的Optional
课程:
/**
* ...
* @return Optional.absent if the user is not connected to a Lan interface,
* else the most likely one.
*/
public Optional<LanInterface> getMostLikelyInterface();
然后用户必须使用if(iface.isPresent())
,它比 . 可读性强得多if(iface != null)
。
于 2013-04-11T19:01:56.597 回答