public class PaAcao implements Serializable, IAcao, Comparable<PaAcao> /* Ordenar */ {
@Override
public int compareTo(PaAcao acaoCompara) {
//return this.aresta - outro.aresta;
int i = 0;
String[] array1 = this.cnrAcao.split(".");
String[] array2 = acaoCompara.cnrAcao.split(".");
for(String c : array1){
if (array2.length > i){
if (Integer.parseInt(c) > Integer.parseInt(array2[i]))
{
return 1;
}
if (Integer.parseInt(c) < Integer.parseInt(array2[i]))
{
return -1;
}
}
i++;
}
return -1;
}
package br.com.agraria.qualidade.model.entity;
public interface IAcao{
public abstract String getCnmUsuarResp();
public abstract Usuario getusuarResp();
public abstract void setusuarResp(Usuario usuarResp);
public abstract PaStatusAcao getIcdStatus();
public abstract String getCnrAcao();
public abstract Boolean getLpublico();
}
public class PaAcaoServiceImpl extends HibernateGenericServiceImpl<PaAcao> implements PaAcaoService {
@Override
public List<? extends IAcao> processarAcoes(List<? extends IAcao> acoesProcessar) {
SessaoPrivilegiosGerente sessaoPrivilegiosGerente = sessaoService.getSessaoPrivilegiosGerente();
List<IAcao> macroRemover = new ArrayList<IAcao>();
Collections.sort(acoesProcessar);
...
}
}
问题出在行collections.sort(acoesProcessar);我得到的信息是:
绑定不匹配:类型集合的泛型方法sort(list
不适用于参数(list
)。推断的类型捕获#14-of?extends Iacao
不是有界参数
解决方案是(感谢Deactivator2对我的帮助):
在接口IACAO上扩展可比:
package br.com.agraria.qualidade.model.entity;
public interface IAcao extends Comparable<IAcao>{
public abstract String getCnmUsuarResp();
public abstract Usuario getusuarResp();
public abstract void setusuarResp(Usuario usuarResp);
public abstract PaStatusAcao getIcdStatus();
public abstract String getCnrAcao();
public abstract Boolean getLpublico();
}
在我的类PaAcao中,我删除了carparable的实现,因为它会被复制,并将类型os compareTo更改为IAcao而不是PaAcao:
public class PaAcao implements Serializable, IAcao /* Ordenar */ {
@Override
public int compareTo(IAcao acaoCompara) {
//return this.aresta - outro.aresta;
int i = 0;
String[] array1 = this.cnrAcao.split(".");
String[] array2 = acaoCompara.cnrAcao.split(".");
for(String c : array1){
if (array2.length > i){
if (Integer.parseInt(c) > Integer.parseInt(array2[i]))
{
return 1;
}
if (Integer.parseInt(c) < Integer.parseInt(array2[i]))
{
return -1;
}
}
i++;
}
return -1;
}
问题内容: 我试图根据类A的int排序类B中名为BinOrder的类型A的列表。 但是我收到此错误行Collections.sort(BinOrder); A类: B级: 问题答案: 为了能够使用单参数版本上的,应该实现的接口:
应该如何声明“GenericBo Bo”实例?正确的代码是什么?
问题内容: 我收到以下错误: 我正在尝试登录并返回一个HomePage(如果成功),以及一个LoginPage(如果不使用泛型)。 我有一个基类,Page,由SecuredPage扩展,用于登录墙后面的页面。我写了一个通用的辅助方法,可以构造任何类型的页面。LoginPage上的登录方法使用此方法。LoginPage扩展Page,而HomePage扩展SecuredPage。SecuredPage
下面是一个通用搜索算法的实现: 接口: (方括号=弧形括号) 问题出在哪里?我想不通...对泛型参数T也进行了扩展。