使用這個相對簡單的問題困擾大家的道歉,但是當調用replaceAll(「\。」,「」)時,我一直運行到空指針異常,我想知道爲什麼。毫無疑問,我只是沒有得到而已。Java:使用replaceAll的空指針異常
IPAddress小結: 提到的第一個類將從IPAddressTester(後面提到)傳遞一個字符串值,它將作爲ipString存儲在類IPAddress中。該字符串本身的格式爲###。###。###。##。我最終的目標將是去掉這個字符串的時間段,合併結果標記,然後轉換爲一個整數用於後面的操作(參見hashCode方法)。顯然這個類是不完整的,它可能會有其他問題/問題,但我目前只關注由replaceAll導致的空指針錯誤。
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();
}
}
再次,我真誠的歉意打擾你們這一點,但我猜這個問題將可能有一個簡單的一兩句話回答(希望這將不ahem太侮辱;-))。
非常好!你是聖人!謝謝一堆! :d – user1309459 2012-04-03 04:13:25