给你:http://developer.android.com/reference/java/io/PrintStream.html#print%28float%29为什么Java PrintStream必须重载其print()函数?
只是一个功能,可以为所有的目的:
public void print (Object o) {
if (o == null) {
// print "null"
} else {
// print o.toString();
}
}
更多阐述。例如,internal_print(String str)
是写入打印流的函数。然后,需要的只有一个功能是:
public void print (Object o) {
if (o == null) {
internal_print("null");
} else {
internal_print(o.toString());
}
}
对于其他float
,int
,char
,long
等超载,我能想象他们只是想:
public void print (float o) {
if (o == null) {
internal_print("null");
} else {
internal_print(o.toString());
}
}
public void print (int o) {
if (o == null) {
internal_print("null");
} else {
internal_print(o.toString());
}
}
public void print (char o) {
if (o == null) {
internal_print("null");
} else {
internal_print(o.toString());
}
}
public void print (long o) {
if (o == null) {
internal_print("null");
} else {
internal_print(o.toString());
}
}
...
甚至只是调用杀手功能print (Object o)
。
请您解释一下。非常感谢!!
基元不能为null,也没有'toString()'! –
Ooops好点(Y)这是我的错和错字。但是在函数参数中输入'((Object)an_int)'后,它可以检查null和toString()。 – midnite
基元不是对象。它们不能用作对象。 – MathSquared