「Java」ジェネリックスメソッド(戻り値の型がList)を定義する方法

2021年9月2日

書式
private static <T> List<T> 関数名(List<T> リスト1, List<T> リスト2, List<T>リストC)
使用例

package com.arkgame.demo;

import java.util.ArrayList;
import java.util.List;

public class ListConatDemo {

      private static final String TARGET = "study";
      private static final String HP = "arkgame.com";

      public static void main(String[] args) {
            // リストA
            List<String> lstA = new ArrayList<String>();
            lstA.add(TARGET);
            lstA.add("skill");

            // リストB
            List<String> lstB = new ArrayList<String>();
            lstB.add("in");
            lstB.add(HP);

            // 連結結果resListの宣言
            List<String> resList = new ArrayList<>();
            // ジェネリックスメソッドtestFuncを呼び出す
            resList = testFunc(resList, lstA, lstB);
            // リストの要素を出力
            for (String str : resList) {
                  System.out.print(str + " ");
            }

      }

      // ジェネリックスメソッドを使ってリストを連結する関数
      private static <T> List<T> testFunc(List<T> resC, List<T> cftA, List<T> cftB) {

            // リストresCの最後にリストAを追加
            resC.addAll(cftA);
            // リストresCの最後にリストBを追加
            resC.addAll(cftB);

            // resCを返す
            return resC;
      }

}

結果
study skill in arkgame.com

Java

Posted by arkgame