“Java 参数报错”这个说法比较笼统,具体原因要看报错信息和代码场景。下面我按最常见的情况给你系统梳理一下,你可以对照看看是哪一种。
报错示例:
error: method xxx in class XXX cannot be applied to given types;
原因:
示例:
void test(int a, int b) {}
test(1); // 报错:缺少参数
✅ 解决:参数个数必须与方法定义一致。
报错示例:
incompatible types: String cannot be converted to int
原因:
示例:
void test(int a) {}
test("abc"); // 报错
✅ 解决:
Integer.parseInt())报错示例:
NullPointerException
原因:
String s = null;
System.out.println(s.length()); // 报错
✅ 解决:
if (s != null) {
s.length();
}
方法定义:
void test(int... nums) {}
错误用法:
test(1, "2"); // 类型不对
✅ 可变参数:
...void test(Integer a) {}
test(null); // OK
test(1); // 自动装箱
但:
int a = null; // 报错
示例:
List<String> list = new ArrayList<>();
list.add(1); // 报错
✅ 泛型类型必须严格匹配。
public static void main() {} // 错误
✅ 正确:
public static void main(String[] args)
new Person("Tom"); // 但 Person 只有 Person(int age)
如果你愿意,可以:
我可以直接告诉你是哪一行、为什么错、怎么改 ✅
你是哪一种情况?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。