在java中怎样判断是否是数组类型?
例如 以下String[] aaa; int[] bbbb; Object[] ccc;
aaa instanceof ????
bbbb instanceof ????
ccc instanceof ????
这三个都是true。????应该是什么??
------解决思路----------------------
@Test
public void testStrings()
{
String [] strs = {};
int [] ints = {};
Object [] objects = {};
System.out.println(ints.getClass().isAssignableFrom(int [].class));
System.out.println(strs.getClass().isAssignableFrom(String [].class));
System.out.println(objects.getClass().isAssignableFrom(Object [].class));
}
------解决思路----------------------
方法返回类型未确定的话,方法之一是可以定义返回类型为所有期待返回值类型的父类,LZ现在就是想知道这个所有期待返回值类型的父类该是哪个吧?
其实可以使用泛型方法的吧:
private <K> K methodTypeParam(){
return (K) new int[]{1,2};
}
@Test
public void testMethodTypeParam(){
int[] i = this.methodTypeParam();
System.out.println(i);
}
不过如果类型不对的话会抛出ClassCastException的.
还有,对于混合数组.楼上的那些判断方法该如何处理:
Object[]cc = {new Object(),1};
Number[] dd = {new Long(1),1.2};