一般的な予備

一般的な予備

我々は機能を実装したいと仮定します。配列要素の逆の動作を実現します。
機能要件のいかなる特定のタイプは、我々が定義されたタイプの8つの基本タイプと仮定する配列要素を、決定していません。どのように達成するために?

  • 「オーバーロードされたメソッド」の手段とすることができます
public static int[] revArray(int[] m) {}
public static long[] revArray(int[] m) {}

このアプローチは、処理上の問題を簡単にするために、Javaは一般的な概念を提供し、あまりにも愚かです。

  • ジェネリックは解決します
public class AboutGeneric {
	public static <T> T[] revArray(T[] m) {
		T t;
		for (int i=0; i<m.length/2; i++) {
			t = m[i];
			m[i] = m[m.length-1-i];
			m[m.length-1-i] = t;
		}
		return m;
	}
}

ここに画像を挿入説明

  1. 一般的な徴候は、方法に使用ジェネリックを示します。
  2. Tは、特定のクラス型を表すように、ジェネリック(T)は唯一、クラス型とす​​ることができます。
  3. 不確かなコーディングときに実行する際に、決定
public class Test {
	public static void main(String[] args) {
		AboutGeneric Generic = new AboutGeneric();
		Integer[] IntegerArray = {1,2,3,4,5,6,7};
		// 这里必须写成Integer而不能是int;
		
		for (int num : IntegerArray) {
			System.out.print(num);
		}
		System.out.println();
		for (int num : Generic.revArray(IntegerArray)) {
			System.out.print(num);
		}
}

ここに画像を挿入説明

ジェネリッククラスの定義

public class MyGeneric <T> {
	private T number;
	
	public MyGeneric() {
		
	}
	
	public MyGeneric(T number) {
		this.number = number;
	}
	
	public T getNumber() {
		return number;
	}
	
	public void setNumber(T number) {
		this.number = number;
	}
}

後者のクラス名<T>は、クラスタイプとして後続の符号Tで、「一般的なフラグ」です。彼らの特定の状況では、実行時に決定します。
ジェネリック医薬品は、より多くのことができます。

public class MyGeneric <T, K> {
	private T number;
	public K object;
}
元の記事を公開 ウォンの賞賛0 ビュー9

おすすめ

転載: blog.csdn.net/weixin_42746816/article/details/103980955