java泛型报错typesafety:theexpressionoftypelistneedsuncheckedconversiontoconformtolis

author author     2023-02-15     624

关键词:

警告提示:Type safety: The expression of type List needs unchecked conversion to conform to List<FunctionInfo>

import com.test.entity.FunctionInfo;

FunctionInfo 是实体类;
functionInfoBIZ 是业务逻辑层;

List<FunctionInfo> list =functionInfoBIZ.findByHql("from FunctionInfo f order by f.functionId desc"); 这一句错

这是因为你声明的接口类中方法public List findByHql(String hql),list返回类型建议你加上泛型
,你没有加,所以有警告。
后面你调用该方法时List<FunctionInfo> list =functionInfoBIZ.findByHql()有强制返回泛型,所以泛型报错,findByHql返回的List。
修正措施:
1,修改接口方法,放回list加上泛型
2,修改List<FunctionInfo> list =functionInfoBIZ.findByHql(),让它返回list,去掉泛型
总之要前后一致
参考技术A functionInfoBIZ.findByHql("from FunctionInfo f order by f.functionId desc");
你检查下这个方法的返回值是不是 List<FunctionInfo>类型,如果仅仅是List类型的话是会
报泛型转换异常的追问

public List findByHql(String hql)
// TODO Auto-generated method stub
return functionInfoDAO.findByHql(hql);

这里也有警告
Multiple markers at this line
- implements com.test.biz.BaseBIZ.findByHql
- List is a raw type. References to generic type List should be
parameterized

追答

functionInfoDAO.findByHql(hql);
这个方法的返回值类型也要加上泛型

参考技术B 1.5。不是报错是 warning,没关系的,就是泛型的检查,一个黄的不算错 参考技术C 声明如下,即可消除警告:
List<?> tempList;
参考技术D findByHql方法的返回值也加上泛型

java-泛型的作用

什么是向下转型和向上转型。面向对象的转型只会发生在具有继承关系的父子类中(接口也是继承的一种)向上转型:其核心目的在于参数的统一上,根本不需要强制类型转换。向下转型:是为了操作子类定义的特殊功能,需要... 查看详情

java的泛型

1,泛型技术因为容器可以存储多种类型的对象,而在取出时,需要用到对象的特有内容时需要做向下转型,但是对象的类型不一致,会导致ClassCassException异常;为了运行时期不出现类型异常,可以在定义容器时,就明确容器中的元素类型,... 查看详情

typescript创建泛型类报错(泛型类)(代码片段)

Property‘zeroValue’hasnoinitializerandisnotdefinitelyassignedintheconstructor.Property‘add’hasnoinitializerandisnotdefinitelyassignedintheconstructor.解决方法一TypeScript的新特性所有定义的值必须赋予,初始值我们设置其值是可选z 查看详情

typescript创建泛型类报错(泛型类)(代码片段)

Property‘zeroValue’hasnoinitializerandisnotdefinitelyassignedintheconstructor.Property‘add’hasnoinitializerandisnotdefinitelyassignedintheconstructor.解决方法一TypeScript的新特性所有定义的值必须赋予,初始值我们设置其值是可选z 查看详情

typescript创建泛型类报错(泛型类)(代码片段)

Property‘zeroValue’hasnoinitializerandisnotdefinitelyassignedintheconstructor.Property‘add’hasnoinitializerandisnotdefinitelyassignedintheconstructor.解决方法一TypeScript的新特性所有定义的值必须赋予,初始值我们设置其值是可选zeroValue?:T;add?:(x:T,y:T)=... 查看详情

java8基础知识泛型

泛型在增加泛型类前,泛型程序设计是用继承实现的,要将方法参数和域的类型设计为Object,通过强制类型转换实现设计。由于Object在编译阶段几乎不会报错,所以很难通过静态类型检查发现这种设计下隐藏的错误。使用类型参... 查看详情

java泛型方法调用出错

在非泛型类里面声明了一个泛型方法:private<T>booleanisExist(T[]arr,Tkey);然后在类中调用:this.isExist(Config.SKIP,buffer[i]);其中Config.SKIP是char[]类型,buffer[i]是char类型.编译器报错:ThemethodisExist(T[],T)inthetypeWordParserisnotapplicableforthearguments(char... 查看详情

java中list的泛型问题

...quot;xx")。假设get这个方法返回的只是一个List没有指定泛型,所以IDE中看不出来。假设实际中是个Map,那么编码时我不知道。在编译的时候这里不报错,运行时如果我用lst.get(0).A'sMethod,这里就报错了。会提示无法将map强转... 查看详情

在java中,使用泛型,比如说t,但是t.class就要报错。我想获取t的class对象怎样获取啊。

T.getClass()或者T.class都是非法的,因为T是泛型变量。由于一个类的类型是什么是在编译期处理的,故不能在运行时直接在Base里得到T的实际类型。有一种变通的实现方式:importjava.lang.reflect.Array;importjava.lang.reflect.ParameterizedType;impor... 查看详情

java基础巩固-详解泛型

java泛型(generics)为jdk5引入的新特性,泛型提供了编译时类型安全检测机制,可以在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。使用泛型的好处它的主要目标是保障java的... 查看详情

java给parammap<string,?>的value赋值,putstring类型报错,说required:?,泛型不是方便用各种类型吗

...错,如截图,请大神帮忙解答,急,感谢。参考技术A你泛型基础没学好,通配符它分三种意思!?无界;?extendsPerson上界?superPerson下界无界:不能使用对象独有的方法上界:不能使用put, 查看详情

java调用泛型参数的静态方法(代码片段)

今天碰到了这么一个问题,我用HttpClient访问第三方接口的时候出现了第三方接口返回值不统一的情况。举例说明:当访问A接口的时候,返回值用  JSONObject.parseObject("返回的String")解析没问题。但是当B接口的时候,返回值... 查看详情

泛型集合之arraylist

泛型集合就是用<>形参和实参规定好的集合,就是在原来的基础上加了一对括号和限制了参数类型,便于在编译时不会报错,在运行时也不会报错。看一下下面的代码。packagejihe;importjava.util.ArrayList;publicclassArrayListTest{publicstat... 查看详情

java子类重写父类带泛型的方法

父类的方法泛型为T,那么我子类重写的方法泛型为S,而且已经声明了S是T的子类了,为什么还是报错?谢谢指教!特殊变量super*使用特殊变量super提供对父类的访问*可以使用super访问父类被子类隐藏的变量或覆盖的方法*每个子... 查看详情

java——泛型(代码片段)

文章目录Java中泛型的概述Java中泛型的语法规则泛型集合泛型方法泛型方法示例(代码演示)小结泛型类泛型类示例(代码演示)小结泛型接口泛型接口示例(代码演示)高级泛型总结Java中泛型的概述泛型... 查看详情

c#泛型方法约束为继承自某类时,调用方法,传子类实参,为什么报错?应该怎么写

...很离谱,这样解释吧,第一点:你的publicvoidb<T>中的泛型是T,而紧跟后面的约束是BaseClass,我明白你的意思,是想让b方法里面的参数是BaseClass<S>类型的,但是你却写了BaseClass<T>,你的T已经代表BaseClass<S>类型了,... 查看详情

java泛型:泛型

一、二、三、四、五、六、七、八、  查看详情

java_泛型笔记(代码片段)

文章目录Java_泛型简介Java_泛型的概念Java_为什么存在泛型Java_自定义泛型结构Java_泛型的声明Java_泛型的实例化Java_泛型类Java_泛型方法Java_泛型在继承上的体现Java_通配符的使用Java_泛型简介集合容器类在设计阶段/声明阶段不能确... 查看详情