「Java」ジェネリックスメソッド(戻り値の型がList)を定義する方法
書式
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;
}
}
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;
}
}
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