用value instanceof Array一直不起效,改用value instanceof ArrayList起效,可能是因为value值的数组是自动生成的,不固定长度,不能用Array判断

解决方案 »

  1.   

    Array 是什么,不应该是list么? value instanceof List
      

  2.   

    具体要看你的value是什么类型啊
    比如
    Integer[] num = {1,2,3}; //数组
    List<Integer> list = new ArrayList<>(Arrays.asList(num)); //链表
    System.out.println(num instanceof Integer[]); //是否是数组类型
    System.out.println(list instanceof ArrayList); //是否是链表类型
      

  3.   

    如果你确定你要判断的数组类型为哪种可以
    Map<String, Object> map = new HashMap<String, Object>();
    value = map.get(key);
    如:要判断是不是String数组
    value instanceOf   String[];
    如果不确定类型,只是确定是不是数组可以用:
    value.getClass().isArray();
      

  4.   

    要看你的value是什么类型啊
     比如
    Integer[] num = {1,2,3}; //数组
    List<Integer> list = new ArrayList<>(Arrays.asList(num)); //链表
    System.out.println(num instanceof Integer[]); //是否是数组类型
    System.out.println(list instanceof ArrayList); //是否是链表类型
      

  5.   

    字符串类型的数组,类似一个key值,返回3个的话,自动就变成[100,200,300]这种,返回不确定数值的话,数组长度也不定,用了isArray方法不好用
      

  6.   

    字符串类型的数组,类似一个key值,返回3个的话,自动就变成[100,200,300]这种,返回不确定数值的话,数组长度也不定,用了isArray方法不好用
    你是不是把 ArrayList 和 数组 搞混了,你是要判定数组,还是判定集合,这是两个不同的概念