0

Android で最も可能性の高い LAN インターフェイスを返すメソッドを作成しました。ユーザーが LAN に接続されていない可能性があるため、このメソッドが null を返す可能性があります。JavaDoc でこの可能性について発信者にどのように警告すればよいですか? メソッドは実際には NullPointerException をスローしないため、@throws を使用する必要はないと思います。

4

1 に答える 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 に答える