请问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之前是不行的,原因是实现了自动装箱和拆箱功能。 具体资料看 和