文字列がIPv4アドレスかIPv6アドレスかをチェックしたいが、それ以外は何もチェックしない。標準のJavaライブラリを使ってこれを達成する方法はありますか?IPv4アドレスとIPv6アドレスは一致しますが、ホスト名は一致しませんか?
私がの知っている:
- InetAddress.getByName(STR) - しかし、それはホスト名を受け入れ
- IPAddressUtil.isIPv4LiteralAddress(STR) - しかし、それは内部クラスであり、コンパイラの警告に
私は正規表現を使用することができますが、私は既存の方法を使用することを好みます。
:ここ
は、より多くのサンプル・コードです。私がやったのは、想定されたIPアドレスをIPv4 | 6の正規表現(有効なIPアドレスのようなものを整理しないように並べ替えるため)で実行し、アドレスのInetAddress.getByName(str)を呼び出すことでした。 – honeyp0t