Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.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 连接两个列表_Java_Arrays_List_Generics - Fatal编程技术网

Java 连接两个列表

Java 连接两个列表,java,arrays,list,generics,Java,Arrays,List,Generics,我试图制作一个简单的程序,将两个列表连接在一起。不过,我似乎不明白为什么要这样做。不起作用的部分是:return语句 import java.util.ArrayList; public class ListConcatenate { public static void main(String[] args) { List<String> list = new List<>(); List<String> secondList = new List<

我试图制作一个简单的程序,将两个列表连接在一起。不过,我似乎不明白为什么要这样做。不起作用的部分是:return语句

import java.util.ArrayList;
public class ListConcatenate {
public static void main(String[] args) {


List<String> list = new List<>();
List<String> secondList = new List<>();
list.insertAtFront("Hello");
list.insertAtBack("World");
secondList.insertAtFront("it's");
secondList.insertAtFront("me");
}
public static<E> List<E> concatenate(List<E> list, List<E> secondList){


    //List<E> newList = new List<>();


    return new ArrayList<E>(){{
        addAll(list);
        addAll(secondList);
    }};
    }




}

为什么不使用List::addAll

list.addAll secondList;退货清单

请参见

列表是一个界面。您无法实例化该列表。使用ArrayList


我想指出一些事情。 正确使用运行时多态性。不能实例化接口

如果要在前面插入某些内容,请使用接收索引和元素的add方法。如果要在后面插入内容,只需使用add方法。我试着编辑你的代码,它似乎工作得非常好。祝你好运 给你:

import java.util.ArrayList;
import java.util.List;
public class ListConcatenate {
public static void main(String[] args) {


List<String> list = new ArrayList<>();
List<String> secondList = new ArrayList<>();
list.add(0,"Hello");
list.add("World");
secondList.add(0,"it's");
secondList.add(0,"me");
List<String> result = concatenate(list,secondList);
for(String s : result ) {
    System.out.println(s);
}
}
public static<E> List<E> concatenate(List<E> list, List<E> secondList){


    //List<E> newList = new List<>();


    return new ArrayList<E>(){{
        addAll(list);
        addAll(secondList);
    }};
    }




}

您从不调用ConcatateIt,因为它的下划线为红色,所以调用它只会导致异常报告。如何创建新列表;?它是一个接口。底层的红色表示您的IDE正在告诉您一个编译器错误。你当时使用了错误的语法。异常报告这个术语在Java中没有任何意义。并且提示:您使用以下代码进行新操作的风格会创建一个匿名的内部类。尽管这是可能的,但这是一种强烈劝阻的不良做法。
import java.util.ArrayList;
import java.util.List;
public class ListConcatenate {
public static void main(String[] args) {


List<String> list = new ArrayList<>();
List<String> secondList = new ArrayList<>();
list.add(0,"Hello");
list.add("World");
secondList.add(0,"it's");
secondList.add(0,"me");
List<String> result = concatenate(list,secondList);
for(String s : result ) {
    System.out.println(s);
}
}
public static<E> List<E> concatenate(List<E> list, List<E> secondList){


    //List<E> newList = new List<>();


    return new ArrayList<E>(){{
        addAll(list);
        addAll(secondList);
    }};
    }




}