Java:如何指定;forEach“;动作类型
这是我的测试代码,我使用intellij idea:Java:如何指定;forEach“;动作类型,java,android,Java,Android,这是我的测试代码,我使用intellij idea: package ro.ex; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.function.Consumer; class Ex { static class MyArrayList<E> extends Arr
package ro.ex;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.function.Consumer;
class Ex {
static class MyArrayList<E> extends ArrayList {
public MyArrayList(Collection c) {
super(c);
}
@Override
public void forEach(Consumer action) {
super.forEach(action);
}
}
public static void main(String[] args) throws IOException {
MyArrayList<String> a = new MyArrayList<String>(Arrays.asList("arg", "arg2"));
for (String e : a) {
}
}
}
包装ro.ex;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.array;
导入java.util.Collection;
导入java.util.function.Consumer;
前级{
静态类MyArrayList扩展了ArrayList{
公共MyArrayList(集合c){
超级(c);
}
@凌驾
公众利益(消费者行动){
super.forEach(行动);
}
}
公共静态void main(字符串[]args)引发IOException{
MyArrayList a=新的MyArrayList(Arrays.asList(“arg”、“arg2”));
用于(字符串e:a){
}
}
}
和idea raise“错误:(23,25)java:不兼容的类型:java.lang.Object无法转换为java.lang.String”
我也尝试ArrayList
public static void main(String[] args) throws IOException {
ArrayList<String> a = new ArrayList<String>(Arrays.asList("arg", "arg2"));
for (String e : a) {
}
}
publicstaticvoidmain(字符串[]args)引发IOException{
ArrayList a=新的ArrayList(Arrays.asList(“arg”、“arg2”));
用于(字符串e:a){
}
}
一切都很顺利
我的问题是:
如何使以前的代码通过idea语法检查器?您需要指定泛型类型参数,而不是为
ArrayList
指定一个参数来实现类型检查
static class MyArrayList<E> extends ArrayList<E> {
静态类MyArrayList扩展了ArrayList{
您需要为ArrayList
指定泛型类型参数,而不是
static class MyArrayList<E> extends ArrayList<E> {
静态类MyArrayList扩展了ArrayList{
您需要为ArrayList
指定泛型类型参数,而不是
static class MyArrayList<E> extends ArrayList<E> {
静态类MyArrayList扩展了ArrayList{
您需要为ArrayList
指定泛型类型参数,而不是
static class MyArrayList<E> extends ArrayList<E> {
静态类MyArrayList扩展了ArrayList{
静态类MyArrayList扩展了ArrayList{
应该是:
static class MyArrayList<E> extends ArrayList<E> {
静态类MyArrayList扩展了ArrayList{
静态类MyArrayList扩展了ArrayList{
应该是:
static class MyArrayList<E> extends ArrayList<E> {
静态类MyArrayList扩展了ArrayList{
静态类MyArrayList扩展了ArrayList{
应该是:
static class MyArrayList<E> extends ArrayList<E> {
静态类MyArrayList扩展了ArrayList{
静态类MyArrayList扩展了ArrayList{
应该是:
static class MyArrayList<E> extends ArrayList<E> {
静态类MyArrayList扩展了ArrayList{
更改forEach
的行为并在较小程度上扩展集合类看起来是个坏主意。更改forEach
的行为并在较小程度上扩展集合类看起来是个坏主意。更改forEach
的行为并在较小程度上扩展集合类看起来是个坏主意首先扩展集合类看起来是个坏主意。更改forEach
的行为并在较小程度上扩展集合类看起来是个坏主意。