如何知道是string 而不是string数组啊 ?
我很郁闷  string的class java.lang.String
          String[] 的是class [Ljava.lang.String;

解决方案 »

  1.   

            String a = "123";
            String[] aa = {"1","2","3"};
            System.out.println(a.getClass().isArray()); //false
            System.out.println(aa.getClass().isArray()); //true
      

  2.   

    老大,看你定义是 数组还是string 啊,这个不难吧
      

  3.   

    String s3="ss";
    String[] s4={"ss","dd","aa"};
    Object o=(Object)s4; if(o instanceof String[]){
    System.out.println("String---数组");
    }else if(o instanceof String){
    System.out.println("String");
    }
      

  4.   

    我用map 保存的可能是数组可能是字符也可能是数字  那数组的话 我怎么知道是整形数组还是字符数组啊 
      

  5.   

    用 Class 的 isArray 方法
      

  6.   

    是要确定Object 是个类型的数组哦 
    怎么判断 instanceof 不能用那还有其他的方法没!! 求救啊
      

  7.   


    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;public class Test {    public static void main(String[] args) {
            String a = "123";
            String[] aa = {"1","2","3"};
            int[] b = {1,2,3};
            Date date = new Date();
            Map map = new HashMap();
            map.put("1", a);
            map.put("2", aa);
            map.put("3", 1);
            map.put("4", b);
            map.put("5", date);
            
            StringBuilder sb = new StringBuilder();
            
            for(Object key : map.keySet()) {
                Class clazz = map.get(key).getClass();
                sb.append(key);
                if(clazz.isArray()) {
                    sb.append(" is array,");
                    sb.append(" and the array value's type is ");
                    sb.append(clazz.getSimpleName());
                } else {
                    sb.append(" is ");
                    sb.append(clazz.getSimpleName());
                }
                sb.append("\n");
            }
            System.out.println(sb);
        }
    }
      

  8.   

    最简单的方法就是String 后面如果有[]就是数组,没有[]就是字符串,怀疑楼主没有把字符串和字符数组弄清,
    String []a;数组
    String a;字符串
      

  9.   

    或者用getName(),那么可以看到如下:Element Type  Encoding  
    boolean  Z  
    byte  B  
    char  C  
    class or interface  Lclassname;  
    double  D  
    float  F  
    int  I  
    long  J  
    short  S
    ------  
    打印的内容是:维度+类型标识符
    例:int[1][2] --> [[I
        boolean[1][2][3] --> [[[Z
        这样就可以知道是什么类型的了