千家信息网

Java中如何使用反射对负数进行排查

发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,这篇文章主要介绍Java中如何使用反射对负数进行排查,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 很久没有写反射了,好多方法忘记了下面一个对负数的检查列子,不是很好,凑活
千家信息网最后更新 2024年10月27日Java中如何使用反射对负数进行排查

这篇文章主要介绍Java中如何使用反射对负数进行排查,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1. 很久没有写反射了,好多方法忘记了下面一个对负数的检查列子,不是很好,凑活用吧

public class NumberUtil {        /**         *  返回对象属性,对象属性为double 不能为负数,为负数会提醒         *@Title:checkNumFilter         *@Description:TODO         * @Param:@param obj         * @Param:@return         *@return :boolean         * @throws SecurityException          * @throws NoSuchMethodException          * @throws InvocationTargetException          * @throws IllegalArgumentException          * @throws IllegalAccessException          *@throws         *@author :kuchawyz2019年10月10日         */        public static boolean checkNumFilter(Object obj)                         throws NoSuchMethodException,                         SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {                // TODO Auto-generated method stub                if(obj != null){                        Class clz = obj.getClass();                        Field[] filds = clz.getDeclaredFields();                        for(Field field :filds){                                if(field.getGenericType().toString().equals("double")){                                                                                String methodName = "get"+upperCase(field.getName());                                        Method m = obj.getClass().getDeclaredMethod(methodName);                                        doubleval = (double) m.invoke(obj);                                        if(val < 0){                                                throw new ErrorFormateException("你传入的数字有负数的");                                        }                                }                        }                        return true;                }                return false;        }        /**         * 对给定的字符串首字母变成大写         * (这里先将字符串转为字符数组,         *   然后将数组的第一个元素,即字符串首字母,进行ASCII 码前移,         *   ASCII 中大写字母从65开始,小写字母从97开始,所以这里减去32)         *@Title:upperCase         *@Description:TODO         * @Param:@param str         * @Param:@return         *@return :String         *@throws         *@author :kuchawyz2019年10月10日         */        public static String upperCase(String str) {            char[] ch = str.toCharArray();            if (ch[0] >= 'a' && ch[0] <= 'z') {                ch[0] = (char) (ch[0] - 32);            }            return new String(ch);        }        }

以上是"Java中如何使用反射对负数进行排查"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0