`
hwpok
  • 浏览: 252038 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

反射设值

    博客分类:
  • Java
阅读更多
package com.roadway.keyin.bo.user.util;

import java.lang.reflect.Field;

import com.roadway.keyin.dao.hibernate.PreviewTemplate;
import com.roadway.keyin.dao.hibernate.PreviewUser;

public class SeterUtil
{
    public static Object set(Object sourceObj, Object targetObj)
    
{
        
if (sourceObj == null || targetObj == null)
        
{
            
return targetObj;
        }

        
        Class
<?> sourceObjCls = sourceObj.getClass();
        Field[] targetObjFields 
= targetObj.getClass().getFields();
        
        Field sourceObjField 
= null;
        
for (Field targetObjField : targetObjFields)
        
{
            
try
            
{
                sourceObjField 
= sourceObjCls
                        .getField(targetObjField.getName());
                
if (sourceObjField == null)
                
{
                    
continue;
                }

                
                
/**//** 把属性名和属性类型加在一起 */
                String sourceStr 
= sourceObjField.getType().toString();
                sourceStr 
+= sourceObjField.getName();
                
                
/**//** 把属性名和属性类型加在一起 */
                String targetStr 
= targetObjField.getType().toString();
                targetStr 
+= targetObjField.getName();
                
                
/**//** 比较两个属性是否相等 *** */
                
if (sourceStr.equals(targetStr))
                
{
                    targetObjField
                            .set(targetObj, sourceObjField.get(sourceObj));
                }

                
else
                
{
                    System.out.println(sourceStr);
                    System.out.println(targetStr);
                    System.out.println();
                }

            }

            
catch (Exception ex)
            
{}
        }

        
return targetObj;
    }

    
    public static 
void main(String[] args) throws IllegalArgumentException,
            SecurityException, IllegalAccessException, NoSuchFieldException
    
{
        PreviewUser privewUser 
= new PreviewUser();
        PreviewTemplate previewTemplate 
= new PreviewTemplate();
        previewTemplate.setP100(15624L);
        
        SeterUtil.set(previewTemplate, privewUser);
        
        System.out.println(privewUser.getP100());
    }

}

分享到:
评论

相关推荐

    poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值)

    poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值), poi导出导入封装(使用注解建立实体与excel映射关系+反射设置实体属性值) poi导出导入封装(使用注解建立实体与excel映射关系+反射设置...

    UE5中全局照明与反射设置的详细配置:Lumen技术的应用

    在Unreal Engine 5(UE5)中,全局照明和反射的配置是通过Lumen技术实现的,这是一个全动态的全局光照和反射系统。Lumen专为次世代主机和高端可视化设计,能够提供实时的全局光照和反射效果。本文将详细介绍如何在UE...

    UE5中如何配置全局照明和反射设置

    本文将详细介绍如何在UE5中配置全局照明和反射,以及如何优化这些设置以获得最佳效果。 通过合理配置和优化,UE5中的Lumen全局照明和反射系统可以为开发者提供强大的工具来创建真实感的场景。通过本文的详细介绍和...

    UE5中全局照明和反射的深入配置与优化实践

    本文将详细介绍如何在UE5中配置全局照明和反射,以及如何优化这些设置以获得最佳效果。 在配置全局照明和反射时,以下是一些优化实践建议: 使用HDRI环境贴图:使用高质量的HDRI环境贴图可以增强光照的真实感和氛围...

    C#,利用反射动态创建对象

    在C#编程中,反射是一种强大的机制,它允许我们在运行时检查类型信息并动态地创建对象。通过反射,我们可以操作程序集、类型、接口、属性、方法等,从而增加了代码的灵活性和可扩展性。本篇文章将深入探讨如何利用...

    Java反射性能测试分析

    - 设置字段值:通过反射设置字段值相比直接赋值也明显更慢,这是因为反射需要查找并解析字段描述符。 - 获取字段值:同样,反射获取字段值的速度慢于直接访问,尤其是对于基本类型和静态字段。 - 方法调用:反射调用...

    Java反射机制

    7. **设置/获取类的属性值**:即使属性是私有的,也可以通过反射设置和获取。 8. **动态创建代理类**:利用`java.lang.reflect.Proxy`类可以动态生成并使用代理类。 9. **分析Java反射Class类型的源代码**:深入理解...

    Java反射动态加载实例类

    接下来,创建了`Student`类的一个实例,并通过反射设置了`name`字段的值为“zhangsan”。最后,调用了`Student`类的`Study`方法。 #### 四、`Student`类 `Student`类定义了学生的姓名属性以及相关的getter和setter...

    运用反射得到类中的属性和值

    由于Java中的字段通常都是私有的,我们需要通过反射设置访问权限,使其可以被外部代码访问。 ```java field.setAccessible(true); ``` ##### 5. 获取字段值 最后,我们可以使用`get`方法来获取字段的值。 ```...

    通过反射绑定或获取页面数据

    **步骤二:使用反射设置实体属性** 接下来,我们再次遍历页面控件,这次是将控件的值设置回实体属性。 ```csharp foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(updatedStudent)) { ...

    利用反射实现的持久层工具类(学习)

    例如,`save()` 方法可以先调用对象的无参构造函数创建实例,然后通过反射设置属性值,最后使用 JDBC 执行 SQL 语句将对象保存到数据库。 ```java public class CmDbHelper { public static void save(Class&lt;?&gt; ...

    Java反射泛型,实现数据库的动态增删改查等功能

    , ...)`的SQL语句,然后用反射设置`PreparedStatement`的参数。 在处理查询结果时,同样可以用反射将结果集中的每一行映射到`T`类型的实例。这极大地提高了代码的复用性和可维护性,因为不论实体类有多少字段,都不...

    dom4j+反射机制

    如果bean定义包含属性注入,Spring会通过反射设置这些属性的值。此外,通过XPath查询,Spring还可以根据配置文件动态地选择和配置bean。 总的来说,DOM4J提供了便捷的XML处理工具,而反射机制则为Java程序提供了...

    Java 用反射设置对象的属性值实例详解

    Java 反射机制详解 - 设置对象的属性值 Java 反射机制是 Java 语言中一个非常强大的功能,它允许程序在运行时检查和修改自身的结构和行为。在这篇文章中,我们将详细介绍如何使用 Java 反射机制来设置对象的属性值...

    dom4j+反射,面向对象方式的xml格式转换

    接着,通过Element的属性和子元素,我们可以利用反射设置对象的字段和属性。如果XML结构复杂,可以递归地解析子元素,生成嵌套的对象结构。 例如,假设我们有一个XML片段: ```xml 张三 &lt;age&gt;25 ``` 我们可以...

    Java利用反射导入导出Excle

    // 获取字段名和值,然后使用反射设置属性 String fieldName = cell.getColumnIndex() == 0 ? "column1" : "column2"; Field field = ExcelEntity.class.getDeclaredField(fieldName); field.setAccessible(true...

    Android用反射的方法打开Flashlight闪光灯

    接下来,我们需要获取`Camera.Parameters`对象,然后通过反射设置闪光灯模式。`Parameters`类中有个`setFlashMode()`方法,但我们不能直接调用,所以需要通过反射: ```java Camera.Parameters parameters = ...

    反射入门小练习

    这样,我们可以通过比较序列化前后的对象状态来确认反射设置的初始值是否正确。 ```java XStream xstream = new XStream(); String xml = xstream.toXML(myInstance); MyPojo deserializedInstance = (MyPojo) ...

    VR材质参数详解-反射参数.docx

    这篇教程旨在帮助初学者理解并掌握VR材质的反射设置,从而创建更加真实和细腻的3D模型。 首先,教程中提到了渲染设置的调整,包括输出分辨率的选择,以及全局开关、图像采样器、抗锯齿滤镜、间接照明、发光贴图和...

Global site tag (gtag.js) - Google Analytics