Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何指定;forEach“;动作类型_Java_Android - Fatal编程技术网

Java:如何指定;forEach“;动作类型

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

这是我的测试代码,我使用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 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
的行为并在较小程度上扩展集合类看起来是个坏主意。