例:
// using Integer.parseInt
int i = Integer.parseInt("123");
どのように同じことをしますか?
// using Integer.parseInt
int i = Integer.parseInt("123.45.55.34");
123.45.55.34 という形式の IPv4 アドレスは、実際にはアドレスの各バイトを表す 4 つの 3 桁の数字であることを認識する必要があります。文字列全体を一度に解析してもうまくいきません。
他の人は の使用について言及していますが、IP の文字列表現しかない場合、私の知る限り、 をInetAddress
簡単にインスタンス化することはできません。InetAddress
できることは、次のようなものです。
public static int parseIp(String address) {
int result = 0;
// iterate over each octet
for(String part : address.split(Pattern.quote("."))) {
// shift the previously parsed bits over by 1 byte
result = result << 8;
// set the low order bits to the current octet
result |= Integer.parseInt(part);
}
return result;
}