把修改的传入的值为空的抛出

简介: 把修改的传入的值为空的抛出
/**
* 把修改的传入的值为空的抛出
* @param o
* @param c
* @param
* @return
*/
public static T info(T o, T c){
try {
//获取o,c类的方法
Method[] m1=o.getClass().getMethods();
Method[] m2=c.getClass().getMethods();
//遍历m2的get方法 method.invoke(c)通过反射判断m2的方法不为空
for (Method method : m2) {
if (method.getName().startsWith(“get”)&&method.invoke(c)!=null) {
boolean isCopy=true;
if(method.getReturnType().getName().equals(“int”)){
isCopy=false;
}else if(method.getReturnType().getName().equals(“Date”)){
isCopy=false;
}else if(method.getReturnType().getName().equals(“boolean”)){
isCopy=false;
}
if(isCopy){
// method.getName().replaceFirst method的方法成功则返回替换的set方法,失败则返回get方法。
String n=method.getName().replaceFirst(“get”,”set”);
//判断m1,n的方法是否存在
Method m=isMethodExist(m1,n);
if(m!=null){
//如果存在,则返回m的方法
m.invoke(o,method.invoke(c));
//entity.setName(info.getName());
}
}
}
}
}catch (Exception e){
e.printStackTrace();
return null;
}
return o;
}
private static  Method isMethodExist(Method[] methods, String methodName){
    for (Method method : methods) {
        if (method.getName().equals(methodName)) {
            return method;
        }
    }
    return null;
}
使用方法
// ProductInfo source=null;
// if(productInfo.getId()!=null){
// source = new ProductEntity( ).buildId( productInfo.getId()).buildCode( productInfo.getId() ).findOne( );
// info( source,productInfo );
// System.out.println(“=========”+source+”========”);
// }


相关文章
|
JSON 小程序 JavaScript
小程序根据返回值是否为空判断标签是否显示
小程序根据返回值是否为空判断标签是否显示
101 0
|
1月前
如何处理构造函数中参数的默认值?
设置合理的默认值可以增加代码的灵活性和易用性,同时减少在调用构造函数时必须传递所有参数的要求。在处理默认值时,要确保其合理性和一致性,避免出现意外的行为或错误。你还想了解关于构造函数的其他方面吗?比如参数的验证等
36 1
|
3月前
|
JavaScript
判断一个对象为空对象的方法
判断一个对象为空对象的方法
44 4
|
7月前
|
算法 前端开发 索引
判断对象是否为空
判断对象是否为空
72 0
|
7月前
|
小程序 区块链
血常规常见判断参数
血常规常见判断参数
60 0
|
7月前
|
定位技术 C++ Python
C++一个函数返回两个或更多个返回值的方法
C++一个函数返回两个或更多个返回值的方法
211 1
|
Java Spring
自定义注解判断参数为空
使用Spring的 @Valid和@Validated不好嘛,干嘛要自己造轮子呢.......
|
C++ Python
C++函数如何返回两个或以上的返回值?
本文介绍C++语言中,一个函数返回两个及以上、同类型或不同类型的返回值的方法~
433 1
C++函数如何返回两个或以上的返回值?
|
前端开发
你真的会判断对象是否为空吗?
一个小小的判空,却很可能让你吃了大亏,如果一个判空没有做好,那么里面的逻辑就完全裸露了,相信你一定吃过 `NullPointerException` 的苦头!
126 0
检查对象是否为空
检查对象是否为空
98 0