账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    java bean 属性联动实现方式?
    50
    0

    一个java vo对象里面有一个属性 A, 但是 A又是通过一个值B经过运算得到的。

    是将B转换到A,然后再赋值到这个对象合适?
    或者有没有一个方式,这个对象里面同事有A,和B两个属性,赋值B的时候,A自动的会计算完,然后赋值?

    不知道那种方式更合适一些,或者如何实现?

    想用这种方式:

    public class ClassTp {
        private List<Cl> A;
        private Map<String, String> B;
        
        public setA(List<Cl> a) {
            this.A = a;
            this.B = convertAtoB(a); // 自动将a转换成b
        }
    }

    不知道是通过在外面转换好,还是在里面用这种方式更合适一些。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在Java中,我们可以使用反射机制来实现Bean属性的联动。反射机制允许我们获取到对象的属性和方法信息,从而实现对属性的映射和操作。

      以下是一个简单的例子,说明如何使用反射来实现Bean属性的联动:

      ```java import java.lang.reflect.Field;

      public class TestBean { private String name;

      public String getName() {
          return name;
      }
      
      public void setName(String name) {
          this.name = name;
      }
      

      }

      public class Main { public static void main(String[] args) throws Exception { TestBean testBean = new TestBean(); testBean.setName("test");

          Field field = TestBean.class.getDeclaredField("name");
          field.setAccessible(true);
      
          field.set(testBean, "new name");
      }
      

      } ```

      在这个例子中,我们首先创建了一个TestBean的实例,然后通过其getName()方法获取到它的name属性。然后,我们通过其getDeclaredField()方法获取到name属性的Field对象,最后通过其setAccessible(true)方法设置该属性的访问权限。

      然后,我们通过该Field对象的set()方法将新的name值设置到testBean的name属性中。

      这样,我们就实现了Bean属性的联动。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部