当前位置: 代码迷 >> J2EE >> java判断是否为数组部类
  详细解决方案

java判断是否为数组部类

热度:488   发布时间:2016-04-17 23:41:35.0
java判断是否为数组类型
在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));
    }


------解决思路----------------------
引用:
Quote: 引用:

在java中怎样判断是否是数组类型?

例如 以下String[] aaa; int[] bbbb; Object[] ccc;

aaa instanceof ????
bbbb instanceof ????
ccc instanceof ????

这三个都是true。????应该是什么??
那么我要是写一个方法,返回的是数组,可能是String[]也可能是int[],那返回类型是什么??


方法返回类型未确定的话,方法之一是可以定义返回类型为所有期待返回值类型的父类,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};
  相关解决方案