実行時クラスを取得/比較する

test129_01.png JavaではgetClass()を使えば実行時クラスを取得、比較できる。派生クラスの判別に利用可能。
package com.Test129;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class Test129Act extends Activity
{
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		BASE	test = new AAA();

		if(test.getClass() == BASE.class)
			Log.d("Test129","test == BASE");
		else
			Log.d("Test129","test != BASE");

		if(test.getClass() == AAA.class)
			Log.d("Test129","test == AAA");
		else
			Log.d("Test129","test != AAA");

		if(test.getClass() == BBB.class)
			Log.d("Test129","test == BBB");
		else
			Log.d("Test129","test != BBB");
	}

	private	class	BASE
	{
	};
	
	private	class	AAA extends BASE
	{
	};
	
	private	class	BBB extends BASE
	{
	};
}

test129_02.png
きちんと比較できた。




プロジェクトファイルをダウンロード


カテゴリー「android」 のエントリー