gpt4 book ai didi

java - java注解可以像HashMap这样复杂的返回类型吗

转载 作者:IT老高 更新时间:2023-10-28 20:30:49 28 4
gpt4 key购买 nike

注解可以有复杂的返回类型,比如HashMap。

我正在寻找类似的东西:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface column {
public HashMap<String, String> table();
}

所以我可以有一个常量注释(伪代码):

@column({table=(dbName, tableName), table=(dbName, tableName2)})
public static final String USER_ID = "userid";

如果 Annotation 不允许您使用复杂的返回类型,那么对于这种情况有什么好的做法吗?

最佳答案

不,注解元素只能是原始类型、字符串、enum 类型、Class、其他注解或其中任何一种的数组。表示这类结构的典型方法是声明另一种注解类型

public @interface TableMapping {
public String dbName();
public String tableName();
}

然后说

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface column {
public TableMapping[] table();
}

并将注解用作

@column(table={
@TableMapping(dbName="dbName", tableName="tableName"),
@TableMapping(dbName="db2", tableName="table2")
})
public String userId = "userid";

关于java - java注解可以像HashMap这样复杂的返回类型吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13569079/

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