Java:使用replaceAll时出现空指针异常

Java:使用replaceAll时出现空指针异常,java,nullpointerexception,period,replaceall,Java,Nullpointerexception,Period,Replaceall,很抱歉用这个相对简单的问题来打扰大家,但我在调用replaceAll(“\.”,“”)时一直遇到空指针异常,我想知道为什么……毫无疑问,这是一个我无法理解的简单问题 IPAddress的简要摘要: 提到的第一个类将从IPAddressTester(后面提到)传递一个字符串值,该值将作为ipString存储在类IPAddress中。字符串本身的形式为###########。我的最终目标是去掉这个字符串的句点,合并生成的标记,并将其转换为一个整数,以便以后进行操作(请参阅hashCode方法)。显然

很抱歉用这个相对简单的问题来打扰大家,但我在调用replaceAll(“\.”,“”)时一直遇到空指针异常,我想知道为什么……毫无疑问,这是一个我无法理解的简单问题

IPAddress的简要摘要: 提到的第一个类将从IPAddressTester(后面提到)传递一个字符串值,该值将作为ipString存储在类IPAddress中。字符串本身的形式为###########。我的最终目标是去掉这个字符串的句点,合并生成的标记,并将其转换为一个整数,以便以后进行操作(请参阅hashCode方法)。显然,这个类是不完整的,可能还有其他问题,但我目前只关注replaceAll导致的空指针错误

IPAddressTest的简要摘要: 正如它的名字所暗示的,这个测试IPAddress。基本上是一个“司机”

再一次,我真诚的道歉,因为我打扰了你们,但我猜这个问题可能会有一个简单的一两句话的答案(希望不会太侮辱;-)

在您实际为ipString赋值之后,该代码应该在构造函数中(否则它仍然为null)

在您实际为ipString赋值之后,该代码应该在构造函数中(否则它仍然为null)

你正在初始化

   String tmpString 
使用空的ipString。IpString在调用构造函数之前不会被设置,但是tmpString在调用构造函数之前会被初始化,因为它位于类初始值设定项中

在构造函数中初始化tmpString以解决问题。

您正在初始化

   String tmpString 
使用空的ipString。IpString在调用构造函数之前不会被设置,但是tmpString在调用构造函数之前会被初始化,因为它位于类初始值设定项中

在构造函数中初始化tmpString以解决问题。

初始顺序

新建IPAddress时,IPAddress.ipString为空

最初的过程

1、IPAddress-ipAdd

2,ipString=null

3,字符串tmpString=ipString.replaceAll(“\”,”)//抛出异常

4,IPAddress ipAdd=新IPAddress(testString)

5,ipString=“130.191.208.70”

初始顺序

新建IPAddress时,IPAddress.ipString为空

最初的过程

1、IPAddress-ipAdd

2,ipString=null

3,字符串tmpString=ipString.replaceAll(“\”,”)//抛出异常

4,IPAddress ipAdd=新IPAddress(testString)


5,ipString=“130.191.208.70”

好极了!你是个圣人!非常感谢灵巧!你是个圣人!非常感谢D
String tmpString = ipString.replaceAll("\\.","");
public class IPAddress implements Comparable<IPAddress>{

     private final String ipString;

     private final String tmpString;

     //Constructor
     public IPAddress(String ip){
         ipString = ip;
         tmpString = ipString.replaceAll("\\.","");
     }

}
public String getTmpString(){
    return ipString.replaceAll("\\.","");
}
   String tmpString