您的位置:首页 > 编程语言 > Java开发

Java初始值的相关操作

2005-08-27 09:49 351 查看
package src;
import java.lang.reflect.Field;
import org.apache.commons.lang.StringUtils;

public class InitObj {
    //只要有一个为真就是真的 // (a || b || c)
    public static boolean isPrimitiveField(Field fld) {
        String dataType = fld.getType().getName();
        return isPrimitiveTypeName(dataType);
    }
    //只要有一个为真就是真的 // (a || b || c)
    public static boolean isInitValue(Object ob) {
        if (ob == null) {
            return true;
        } else {
            return (ob.equals(getInitValue(ob)));
        }
    }
    public static String WrapperToPrimitive(String wrapper) {
        String[] strArray = StringUtils.split(wrapper, '.');
        int len = strArray.length;
        String primitive = strArray[len - 1].toLowerCase();
        if (primitive.equals("integer")) {
            primitive = "int";
        }
        return primitive;
    }
    public static String PrimitiveToWrapper(String primitive) {
        StringBuffer wrapper = new StringBuffer("java.lang.");
        if (primitive.equals("int")) {
            wrapper.append(StringUtils.capitalize("integer"));
        } else {
            wrapper.append(StringUtils.capitalize(primitive));
        }
        return wrapper.toString();
    }
    public static boolean isPrimitiveTypeName(String dataType) {
        dataType = WrapperToPrimitive(dataType);
        if (("double".equals(dataType)) || ("int".equals(dataType)) ||
                ("long".equals(dataType)) || ("short".equals(dataType)) ||
                ("boolean".equals(dataType)) || ("float".equals(dataType)) ||
                ("byte".equals(dataType)) || ("char".equals(dataType))) {
            return true;
        } else {
            return false;
        }
    }
    public static void setInitValue(Object ob) {
        ob = getInitValue(ob);
    } // 只要有一个为真就是真的 // (a || b || c)
    public static Object getInitValue(Object ob) {
        String dataType = ob.getClass().getName();
        Object initObj = null;
        if ("java.lang.Double".equals(dataType)) {
            initObj = new Double(Double.parseDouble("0"));
        } else if ("java.lang.Integer".equals(dataType)) {
            initObj = new Integer(Integer.parseInt("0"));
        } else if ("java.lang.String".equals(dataType)) {
            initObj = "";
        } else if ("java.lang.Long".equals(dataType)) {
            initObj = new Long(Long.parseLong("0"));
        } else if ("java.lang.Short".equals(dataType)) {
            initObj = new Short(Short.parseShort("0"));
        } else if ("java.lang.Boolean".equals(dataType)) {
            initObj = new Boolean(Boolean.getBoolean("false"));
        } else if ("java.lang.Float".equals(dataType)) {
            initObj = new Float(Float.parseFloat("0"));
        } else if ("java.lang.Byte".equals(dataType)) {
            initObj = "";
        } else if ("java.lang.Character".equals(dataType)) {
            initObj = "";
        }
        return initObj;
    }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息