[转载] Controller报错:java.lang.NoSuchMethodException: java.util.List.<init>()
參考鏈接: Java8中的java.util.StringJoiner
報(bào)錯(cuò)詳情:?
java.lang.NoSuchMethodException: java.util.List.<init>() 以及 No primary or default constructor found for interface java.util.List?
示例:?
/**
* 此接口會(huì)產(chǎn)生以上的報(bào)錯(cuò)
*/
@GetMapping("sample")
public void sample(List<Integer> ids){
? ? ...
}
?
報(bào)錯(cuò)提示如下:?
java.lang.NoSuchMethodException: java.util.List.<init>()
? ? at java.lang.Class.getConstructor0(Class.java:3082) ~[na:na]
? ? at java.lang.Class.getDeclaredConstructor(Class.java:2178) ~[na:na]
? ? ...
?
報(bào)錯(cuò)原因: 對(duì)象在初始化時(shí)沒(méi)有找到對(duì)應(yīng)的構(gòu)造方法,從而導(dǎo)致對(duì)象初始化失敗。?
解決方法: 提供相應(yīng)的構(gòu)造方法即可,如示例接口,有兩種處理方法。 方法一,參數(shù)前加@RequestParam:?
@GetMapping("sample")
public void sample(@RequestParam List<Integer> ids){
? ? ...
}
?
方法二,參數(shù)封裝到對(duì)象中:?
@GetMapping("sample")
public void sample(Sample sample){
? ? List<Integer> ids = sample.getIds();
? ? ...
}
?
private static class Sample{
? ? private List<Integer> ids;
? ? ...
? ? // getter setter...????
}
總結(jié)
以上是生活随笔為你收集整理的[转载] Controller报错:java.lang.NoSuchMethodException: java.util.List.<init>()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [转载] WSDL2Java详细使用说明
- 下一篇: http sxyk.cdn_Discuz