我正在编写一个处理子网的程序。对象字段的变化原因不明
在simpleIPaddress.class行315中,对象Ted的fullSubnetAddress =“111.111.111.111”。
在simpleIPaddress.class行317中,对象Ted的fullSubnetAddress由于某种原因而改变,我找不出来。它更改为textAddress该类的字段变量。当简单IP地址最初是从用户输入创建时,textAddress从代码中较早的程序中生成。
第一次执行for循环之后,Ted会永久更改为for循环的其余部分。
在代码中,我正在缓慢地填充数组。
SubnetItem ted = new SubnetItem(subnetNumber, fullSubnetAddress, fullStartHost,
fullEndHost, fullBroadcastAddress);
this.subnetArray = new SubnetItem[totalSubnets];
for (int i = 0; i < subnetArray.length; i++)
{
this.subnetArray[i] = ted; // line 315
this.subnetArray[i].setSubnetNumber(i);
System.out.println(ted.toString()); // line 317
calculateStartingAddress(i);
System.out.println(ted.toString());
System.out.println(subnetArray[i].toString());
}
Here is the full code如果需要的话。
如果代码太大,您应该改为编写[mcve]。请看[问]。 – RealSkeptic