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);
}
}
[ツッコミを入れる]