Object对象作为方法参数和返回值的有关问题
Object对象作为方法参数和返回值的问题
假设已有类Ppl,对象是ppl。
定义了一个方法,meth(Object obj);,方法内对obj作反射得到属性的类型和值。
调用时,把ppl作为实参,meth(ppl);
但是,当我方法这样定义,
Object meth()
{
Object obj = xxx;
return obj;
};
这时,外部把ppl作为实参调用的话,
ppl = meth();
就会出现类型不匹配的问题。
有没有高手可以分析下当中的一些转换的过程。
另外,如果我要实现第二种方法的效果,是不是像第一种方法那样,把Object作为参数而不是作为返回值来实现会比较容易?
------解决思路----------------------
如果这样写的话,你要进行强制类型转换
可以考虑使用泛型方法
假设已有类Ppl,对象是ppl。
定义了一个方法,meth(Object obj);,方法内对obj作反射得到属性的类型和值。
调用时,把ppl作为实参,meth(ppl);
但是,当我方法这样定义,
Object meth()
{
Object obj = xxx;
return obj;
};
这时,外部把ppl作为实参调用的话,
ppl = meth();
就会出现类型不匹配的问题。
有没有高手可以分析下当中的一些转换的过程。
另外,如果我要实现第二种方法的效果,是不是像第一种方法那样,把Object作为参数而不是作为返回值来实现会比较容易?
------解决思路----------------------
如果这样写的话,你要进行强制类型转换
ppl = (Ppl)meth();
可以考虑使用泛型方法