gpt4 book ai didi

java - 如何通过注释为字段添加 getter 来在 Groovy 脚本中访问字段

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:57 24 4
gpt4 key购买 nike

我有一个包含字段的模型类:

public class Model1 {
@Bind private int LL;
@Bind private double[] twKI;
@Bind private double[] twKS;
@Bind private double[] twINW;
@Bind private double[] twEKS;
}

我创建了一个注解:

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)

public @interface Bind {


}

是否可以在 Model1 类中为字段定义 getter 和 setter 而无需对其进行修改,以便稍后它们将在 groovy 脚本中可用?

最佳答案

好吧,你有多种选择,你可以选择更适合你的:

我们有一个模型对象:Model model = new Model()

<强>1。使用 getter 和 setter: 创建 getter 和 setter 方法,然后调用 setter 方法:model.setLL(10)

<强>2。没有 getter 和 setter: 在 groovy/grails 范围变量中,除非您出于某些特定目的覆盖它们,否则不会有太大区别。所以你可以直接使用 model.LL = 10

设置值

<强>3。使用 setProperty:model.setProperty('LL', 10)

<强>4。反射方式:在设置字段值之前,将其标记为可访问。

Field field = Model.getDeclaredField("LL")
field.setAccessible(true)
field.set(model, 10)

关于java - 如何通过注释为字段添加 getter 来在 Groovy 脚本中访问字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34086513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com