この比較的単純な質問でお手数をおかけして申し訳ありませんが、replaceAll("\.","") を呼び出すときに null ポインター例外が発生し続けます。取得していません。
IPAddress の簡単な要約: 言及された最初のクラスには、IPAddressTester (後述) から文字列値が渡され、クラス IPAddress に ipString として格納されます。文字列自体は、###.###.###.## の形式になります。私の最終的な目標は、この文字列のピリオドを取り除き、結果のトークンを結合し、後で操作できるように整数に変換することです (hashCode メソッドを参照)。明らかに、このクラスは不完全であり、他の問題/問題がある可能性が非常に高いですが、現在のところ、replaceAll に起因する null ポインター エラーのみに焦点を当てています。
IPAddressTest の簡単な要約: その名前が示すとおり、これは IPAddress をテストします。基本は「ドライバー」です。
package ipResolver;
import java.util.Arrays;
import java.util.StringTokenizer;
import java.util.Scanner;
public class IPAddress implements Comparable<IPAddress>{
private String ipString;
private int ipInt;
private int ipHash;
//Constructor
public IPAddress(String ip){
ipString = ip;
}
//--------------------------------Begin Error Region
String tmpString = ipString.replaceAll("\\.","");
//--------------------------------End Error Region
public int hashCode(int ipToBeHashed){
return ipHash;
}
public boolean equals(Object o){
return ipString.equals(String.valueOf(o));
}
public int compareTo(IPAddress IP){
return ipInt - IP.ipInt;
}
public String toString()
{
return ipString;
}
public void gettmpString(){
System.out.println(tmpString);
}
}
IPAddressTest クラス
package test_code;
import java.util.Arrays;
import ipResolver.IPAddress;
public class IPAddressTest {
public static void main(String args[]){
String testString = "130.191.208.70";
IPAddress ipAdd = new IPAddress(testString);
System.out.println(ipAdd);
ipAdd.gettmpString();
}
}
繰り返しますが、これで皆さんを悩ませたことを心からお詫びしますが、この質問にはおそらく1つか2つの文で簡単に答えられると思います(あまり侮辱的ではないことを願っています;-))。