Java 计算对象的长度

来源:互联网 发布:本子软件怎么用 编辑:程序博客网 时间:2024/06/14 00:35

一种计算对象长度的封装方法,值得收藏。
实现思路:计算对象长度,如果是字符串调用其length函数,集合类调用其size函数,数组调用其length属性,其他可遍历对象遍历计算长度。

 public static int length(Object obj) {        if (obj == null) {            return 0;        }        if (obj instanceof CharSequence) {            return ((CharSequence) obj).length();        }        if (obj instanceof Collection) {            return ((Collection<?>) obj).size();        }        if (obj instanceof Map) {            return ((Map<?, ?>) obj).size();        }        int count;        if (obj instanceof Iterator) {            Iterator<?> iter = (Iterator<?>) obj;            count = 0;            while (iter.hasNext()) {                count++;                iter.next();            }            return count;        }        if (obj instanceof Enumeration) {            Enumeration<?> enumeration = (Enumeration<?>) obj;            count = 0;            while (enumeration.hasMoreElements()) {                count++;                enumeration.nextElement();            }            return count;        }        if (obj.getClass().isArray() == true) {            return Array.getLength(obj);        }        return -1;    }
原创粉丝点击