冷月云殇 发表于 2019-7-13 14:35:07

用集合作为参数怎么进行重载呢

集合的泛型不一样,怎么进行重载呢?

冷月云殇 发表于 2019-7-13 14:37:12

就像下面的代码,如果想用同一个方法名来对不同泛型的ArrayList进行处理,那么应该怎么办呢
package com.thehopeness.date5.Demo4;
import java.util.ArrayList;

/*
题目要求:
定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分割每个元素。
格式参照 {元素@元素@元素}
*/
public class Demo8ArrayListPrint {
    public static void main(String[] args) {

      ArrayList<String> list = new ArrayList<>();
      list.add("小可爱");
      list.add("小仙女");
      list.add("小妖精");
      System.out.println(list);//[小可爱, 小仙女, 小妖精]

      printArrayList(list);

      ArrayList<Integer> listB = new ArrayList<>();
      listB.add(11);
      listB.add(12);
      listB.add(13);
      listB.add(14);
      printArrayList(listB);
    }

    /*
    定义方法的三要素
    返回值类型 只是进行打印,没有运算,没有结果,使用void
    方法名称:printArrayList
    参数列表:ArrayList
   */
    public static void printArrayList(ArrayList<String> list) {
      System.out.print("{");
      for (int i = 0; i < list.size() - 1; i++) {
            System.out.print(list.get(i) + "@");
      }
      System.out.println(list.get(list.size()-1) + "}");
    }



    //参数类型都是地址值,怎么重载啊····
//    public static void printArrayList(ArrayList<Integer> list) {
//      System.out.print("{");
//      for (int i = 0; i < list.size() - 1; i++) {
//            System.out.print(list.get(i) + "@");
//      }
//      System.out.println(list.get(list.size()) + "}");
//    }
//
}

Krant5 发表于 2019-7-13 15:47:17

本帖最后由 Krant5 于 2019-7-13 15:57 编辑

你这操作都一样的,需要两个方法吗?

冷月云殇 发表于 2019-7-14 09:01:11

Krant5 发表于 2019-7-13 15:47
你这操作都一样的,需要两个方法吗?

感谢感谢,自学还没学到这种方法的使用
页: [1]
查看完整版本: 用集合作为参数怎么进行重载呢