- 请问JAVA的问题!请问一下,JAVA中,方法的参数类型定义成O
- 请问一下,J中,方法的参数类型定义成Object,有什么好处吗?是不是它包含了所有的类型了?
- 是个类,是所有类的超类。在你创建类的时候如果不继承任何类,则默认继承OECT。
OBJECT是引用数据类型.
int,char,long,float,boolean,double,byte是简单数据类型不属于Object。
行参为Object,你就可以传入各种类型的数据
1。根据传入的数据类型判断具体操作
如
if ( o instanceof p ){
//...
}
2.更多的传入object的参数可以用反射机制做一些解析如
public String getObj2Jsonstr(Object obj) {
Method[] methods = tClass().getDeclaredMethods();
for (int j = 0; j < methods.length; j++) {
if (methods[j].getName().startsWith("get")) {
String property = methods[j].getName().substring(3, 4).toLowerCase()
+ methods[j].getName().substring(4);
Object[] arg = null;
Object value = methods[j].invoke(obj, arg);
jsonob.put(property, value);
}
}
以上只是2种用法,具体问题具体对待,怎么活用看个人发挥。。。
看了下JDK5,发现简单数据类型也能传入Object对象了,JDK5之前是不行的,原因是实现了自动装箱和拆箱功能。 具体资料看 和