在单个 class 中实现 Iterator 和 ResultSet 接口 - 冲突
Implement both Iterator and ResultSet interface in a single class - Conflict
我有一个场景,其中单个 class 需要同时实现 Iterator 和 ResultSet 接口。
代码如下所示
错误也如上所示。
你能否建议是否有任何替代方案可以解决此问题?
您收到该错误是因为 Resultset 和 Iterable 中都有方法 next(),但具有不同的 returns 值
下一个结果集有布尔值作为 return 值
迭代器 next 有 E 作为 return value
但是调用签名是一样的。在 java 中,仅更改 return 值不会获得多态性;这导致了编译器错误。
您可以代替继承,将结果集包含在 class 中作为实例变量。
public class MyClass<E> implements Iterator<E>, Iterable<E>{
private ResultSet resultset;
}
我有一个场景,其中单个 class 需要同时实现 Iterator 和 ResultSet 接口。
代码如下所示
错误也如上所示。
你能否建议是否有任何替代方案可以解决此问题?
您收到该错误是因为 Resultset 和 Iterable 中都有方法 next(),但具有不同的 returns 值
下一个结果集有布尔值作为 return 值 迭代器 next 有 E 作为 return value
但是调用签名是一样的。在 java 中,仅更改 return 值不会获得多态性;这导致了编译器错误。
您可以代替继承,将结果集包含在 class 中作为实例变量。
public class MyClass<E> implements Iterator<E>, Iterable<E>{
private ResultSet resultset;
}