gpt4 book ai didi

java - 参数化注释值

转载 作者:行者123 更新时间:2023-12-02 06:45:56 24 4
gpt4 key购买 nike

我有两个类使用注释来定义字段和数据库列名称之间的链接。除了它们定义的列名之外,这些类非常相似:

class TableA {
@ForeignName("IDTableA") // Column name in TableC referring to this TableA record
List<TableC> elements;
// Some other field definitions, common between TableA and TableB

// Some other field definitions, specific to TableA
}

class TableB {
@ForeignName("IDTableB") // Column name in TableC referring to this TableB record
List<TableC> elements;
// Some other field definitions, common between TableA and TableB

// Some other field definitions, specific to TableB
}

class TableC {
@LocalName("IDTableA")
TableA refA;
@LocalName("IDTableB")
TableB refB;
}

我想要一个父类(super class),我可以为其提供“IDTableA/B”常量。理想情况下“类似”(我知道除了类型之外你不能给泛型任何其他东西,但这只是为了表明我的观点):

abstract class TableAB<IDName> {
@ForeignName(IDName)
List<TableC> elements;
// Field definitions common between TableA and TableB
}

class TableA extends TableAB<"IDTableA"> {
// Field definitions, specific to TableA
}

class TableB extends TableAB<"IDTableB"> {
// Field definitions, specific to TableB
}

这有可能吗?

最佳答案

不,这是不可能的。 IDName 部分必须是常量,并且在任何情况下都不能提供字符串文字作为泛型类型。

关于java - 参数化注释值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18636819/

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