【发布时间】:2018-06-27 19:57:49
【问题描述】:
我正在尝试做类似的事情:
t.set(field("ColumnName"), select(max(field("ColumnName"))).from("TableName"));
但我收到以下编译错误:
Ambiguous method call, Both
set(Field,Object) in InsertSetStep and
set(Field,Select<? extends Record1>) in InsertSetStep match
我尝试通过强制转换解决歧义,但仍然收到相同的错误
Select<? extends Record1> sq = select(max(field("ColumnName"))).from("TableName");
t.set( field("ColumnName"), (Select<? extends Record1>)sq );
我有几个问题:
- 为什么强制转换不能解决这种情况下的歧义? (我已尝试转换为
(Object),这确实解决了歧义) - 我有办法解决歧义吗?
【问题讨论】:
-
看起来这可能与 Lukas Eder(jOOQ 作者)提交的错误有关:https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7031404
标签: java generics javac jooq overloading