Java 重载同一方法以打印不同的数据类型arraylist
我的任务是重载相同的方法,能够使用相同的方法名,打印到屏幕上,这两个数组的内容列表内容 下面是我尝试过的代码。但这两种方法都有相同的名称,所以不起作用Java 重载同一方法以打印不同的数据类型arraylist,java,compiler-errors,overloading,Java,Compiler Errors,Overloading,我的任务是重载相同的方法,能够使用相同的方法名,打印到屏幕上,这两个数组的内容列表内容 下面是我尝试过的代码。但这两种方法都有相同的名称,所以不起作用 import java.util.ArrayList; public class Tutotrial_2_1 { public static void main(String[] args){ //Creating integer type array list ArrayList<Integer>listOfAg
import java.util.ArrayList;
public class Tutotrial_2_1 {
public static void main(String[] args){
//Creating integer type array list
ArrayList<Integer>listOfAges = new ArrayList<Integer>();
//Adding items to array list
listOfAges.add(25);
listOfAges.add(36);
listOfAges.add(45);
listOfAges.add(67);
listOfAges.add(87);
listOfAges.add(32);
listOfAges.add(33);
listOfAges.add(45);
//Creating double type array list
ArrayList<Double>listOfMarks = new ArrayList<Double>();
//Adding items to array list
listOfMarks.add(25.4);
listOfMarks.add(36.5);
listOfMarks.add(4.45);
listOfMarks.add(55.67);
listOfMarks.add(55.7);
listOfMarks.add(32.0);
listOfMarks.add(33.0);
listOfMarks.add(45.0);
//Calling display function of integer array
displayArray(listOfAges);
displayArray(listOfMarks);
}
//Display fucntion of listOfAges array
public static void displayArray(ArrayList<Integer>list){
for(Integer indexes : list){
System.out.println(indexes);
}
}
public static void displayArray(ArrayList<Double>list){
for(Double indexes : list){
System.out.println(indexes);
}
}
import java.util.ArrayList;
公共级家庭教师2 1{
公共静态void main(字符串[]args){
//创建整型数组列表
ArrayListFages=新的ArrayList();
//向数组列表中添加项
增加(25);
增加(36);
增加(45);
增加(67);
增加(87);
增加(32);
增加(33)页;
增加(45);
//创建双类型数组列表
ArrayListIstofMarks=新的ArrayList();
//向数组列表中添加项
增加(25.4);
增加(36.5);
增加(4.45);
增加(55.67);
增加(55.7);
增加(32.0);
增加(33.0);
加上(45.0);
//调用整数数组的显示函数
显示数组(页面列表);
显示阵列(标记列表);
}
//listOfAges数组的显示功能
公共静态void displayArray(ArrayList){
for(整数索引:列表){
System.out.println(索引);
}
}
公共静态void displayArray(ArrayList){
for(双索引:列表){
System.out.println(索引);
}
}
}因为您不能在泛型类型上重载方法。换句话说,有两个方法解析为displayArray(ArrayList)
,因此对于双重声明的方法,将出现编译错误
幸运的是,这里不需要重载方法-因为Java中的任何对象都有一个toString
方法,所以您可以只使用一个方法来接收列表,对其进行迭代,并打印每个项目:
publicstaticvoiddisplayArray(列表){
用于(对象索引:列表){
System.out.println(索引);
}
}
因为您不能在泛型类型上重载方法。换句话说,有两个方法解析为displayArray(ArrayList)
,因此对于双重声明的方法,将出现编译错误
幸运的是,这里不需要重载方法-因为Java中的任何对象都有一个toString
方法,所以您可以只使用一个方法来接收列表,对其进行迭代,并打印每个项目:
publicstaticvoiddisplayArray(列表){
用于(对象索引:列表){
System.out.println(索引);
}
}
如果我理解您的问题,如果您这样更改方法:
public static void main(String[] args) {
//Creating integer type array list
ArrayList<Integer> listOfAges = new ArrayList<Integer>();
//Adding items to array list
listOfAges.add(25);
listOfAges.add(36);
listOfAges.add(45);
listOfAges.add(67);
listOfAges.add(87);
listOfAges.add(32);
listOfAges.add(33);
listOfAges.add(45);
//Creating double type array list
ArrayList<Double>listOfMarks = new ArrayList<Double>();
//Adding items to array list
listOfMarks.add(25.4);
listOfMarks.add(36.5);
listOfMarks.add(4.45);
listOfMarks.add(55.67);
listOfMarks.add(55.7);
listOfMarks.add(32.0);
listOfMarks.add(33.0);
listOfMarks.add(45.0);
//Calling display function of integer array
displayArray(listOfAges);
displayArray(listOfMarks);
}
//Display function of listOfAges array
public static <T> void displayArray(ArrayList<T>list){
for(T indexes : list){
System.out.println(indexes);
}
}
publicstaticvoidmain(字符串[]args){
//创建整型数组列表
ArrayList listOfAges=新的ArrayList();
//向数组列表中添加项
增加(25);
增加(36);
增加(45);
增加(67);
增加(87);
增加(32);
增加(33)页;
增加(45);
//创建双类型数组列表
ArrayListIstofMarks=新的ArrayList();
//向数组列表中添加项
增加(25.4);
增加(36.5);
增加(4.45);
增加(55.67);
增加(55.7);
增加(32.0);
增加(33.0);
加上(45.0);
//调用整数数组的显示函数
显示数组(页面列表);
显示阵列(标记列表);
}
//listOfAges数组的显示功能
公共静态void displayArray(ArrayList){
for(T索引:列表){
System.out.println(索引);
}
}
它应该会起作用。将用作泛型类型。如果我理解您的问题,如果您这样更改方法:
public static void main(String[] args) {
//Creating integer type array list
ArrayList<Integer> listOfAges = new ArrayList<Integer>();
//Adding items to array list
listOfAges.add(25);
listOfAges.add(36);
listOfAges.add(45);
listOfAges.add(67);
listOfAges.add(87);
listOfAges.add(32);
listOfAges.add(33);
listOfAges.add(45);
//Creating double type array list
ArrayList<Double>listOfMarks = new ArrayList<Double>();
//Adding items to array list
listOfMarks.add(25.4);
listOfMarks.add(36.5);
listOfMarks.add(4.45);
listOfMarks.add(55.67);
listOfMarks.add(55.7);
listOfMarks.add(32.0);
listOfMarks.add(33.0);
listOfMarks.add(45.0);
//Calling display function of integer array
displayArray(listOfAges);
displayArray(listOfMarks);
}
//Display function of listOfAges array
public static <T> void displayArray(ArrayList<T>list){
for(T indexes : list){
System.out.println(indexes);
}
}
publicstaticvoidmain(字符串[]args){
//创建整型数组列表
ArrayList listOfAges=新的ArrayList();
//向数组列表中添加项
增加(25);
增加(36);
增加(45);
增加(67);
增加(87);
增加(32);
增加(33)页;
增加(45);
//创建双类型数组列表
ArrayListIstofMarks=新的ArrayList();
//向数组列表中添加项
增加(25.4);
增加(36.5);
增加(4.45);
增加(55.67);
增加(55.7);
增加(32.0);
增加(33.0);
加上(45.0);
//调用整数数组的显示函数
显示数组(页面列表);
显示阵列(标记列表);
}
//listOfAges数组的显示功能
公共静态void displayArray(ArrayList){
for(T索引:列表){
System.out.println(索引);
}
}
它应该会起作用。作为泛型类型使用。到底什么不起作用?你能分享你的全部错误跟踪吗?另外,请在
ArrayList列表
和ArrayList列表
中留出一个空格。错误:名称冲突:displayArray(ArrayList)和displayArray(ArrayList)具有相同的擦除功能。究竟什么不起作用?你能分享你的全部错误跟踪吗?另外,请在ArrayList列表
和ArrayList列表
中留出一个空格。错误:名称冲突:displayArray(ArrayList)和displayArray(ArrayList)具有相同的擦除