2008年09月08日(月) [長年日記]
- 何もやる気にならず週末ずっとゴロゴロしてしまった。これはいかんよ。掃除しないと。
- 外出したとしても雷ゴロゴロで大変だったけどな。
- ずっと忙しい。才能なーい。
- ずっと健康だったが昨日から体調不良気味。最近暑かったり寒かったりするからなあ。
■ [java][net] JavaでIPv4とIPv6の判別
文字列で与えられたIPアドレスがIPv4なのかIPv6なのかを判別したいとき、Javaではどう書けばいいのか。
InetAddress#getByName()の戻り値をinstanceofでチェックする方法しか思いつかなかった。次のテストは成功したのでメモ。
import java.net.Inet4Address; import java.net.Inet6Address; import java.net.InetAddress; import static org.junit.Assert.*; import org.junit.Test; public class InetAddressTest { @Test public void v4test() throws Exception { InetAddress address = InetAddress.getByName("192.0.2.10"); assertTrue(address instanceof Inet4Address); } @Test public void v6test() throws Exception { InetAddress address = InetAddress.getByName("2001:DB8::10"); assertTrue(address instanceof Inet6Address); } }