【发布时间】:2011-04-08 08:51:41
【问题描述】:
现在我正在尝试用一个表示二进制数的 int 来实现 this interface。
我知道我不应该实现to string();,但假设我需要。
这是我到目前为止写的:
public class IPAddressInt implements IPAddress {
private int ipAdress;
public IPAddressInt(int num1,int num2, int num3, int num4){
String n1=Integer.toBinaryString(num1);
String n2=Integer.toBinaryString(num2);
String n3=Integer.toBinaryString(num3);
String n4=Integer.toBinaryString(num4);
String finalString=n1+n2+n3+n4;
this.ipAdress=Integer.parseInt(finalString);
}
public String toString() {
return this.toString();
}
当我想返回 this.ipAdress.toString(); 甚至 ipAdress.toString()
编译器说它Cannot invoke toString() on the primitive type int,
当我只写 this.toString(); 时,它可以工作。为什么?我知道一个 int 可以转换为一个字符串,而 this 是如何工作的,而整个语句却不是?不应该一样吗?我会得到我想要的吗?
谢谢。
【问题讨论】:
-
很高兴看到您既有幽默感又有常识。 :-) 希望你能得到满意的解决方案。