怎么给java对象添加动态添加属性和方法

怎么给java对象添加动态添加属性和方法,第1张

Java无法动态添加方法和属性

Java是一门编译性的语言,常见脚本语言是解析性语言。

编译性语言的类的成员与属性在代码编译完成后就已经固定了,无法动态添加;

解释性语言是在运行时可以动态为对象添加属性和方法。

有时候我们需要在不改变类的属性字段的情况下,添加字段,Jackson提供了@JsonAppend注解来实现这个功能,使用方式如下

通过上面的例子可以看到,@JsonAppend提供了两种方式来动态的添加虚拟字段

1 attrs

此种方式需要在序列化时候手动的添加Attribute,如下

om.writerFor(CombineJacksonAnnotation.JsonPropertyPojo.class).withAttribute("age","10").withAttribute("height","12")

2 props

此种方式比较灵活,但是要实现一个VirtualBeanPropertyWriter类即可,如果真的有这种需求,推荐使用第二种方式来实现

添加属性用setAttribute()方法,可以传入两个参数,第一个是属性名称,第二个是要设置的属性值

var li = document.getElementsByTagName('li')[0]

//设置 li 属性,如 data-falg,设置为true

li.setAttribute("data-falg", "true")

也可以获取属性用getAttribute(),传入一个参数,是想获取的属性名称,返回的是该属性的值


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11724256.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存