2011-11-10 21 views
0
私は複数の入力タイプを可能にする機能を書きたい

機能入力は可能に異なる種類

すなわち

public void func(TYPE variable) { 
    if (variable instanceof String) 
    //do string stuff 
    else if (variable instanceof double) 
    //do double stuff 
} 

私は何として型を宣言する必要がありますか?ジェネリックスを使用する必要がありますか?

おかげ

答えて

2

java.lang.Object上位と種類を確認し、操作を行うためにinstanceofを使用しています。

ジェネリック医薬品の
public void func(Object variable) { 
    if (variable instanceof String) 
    //do string stuff 
    else if (variable instanceof double) 
    //do double stuff 
} 

もっと、あなたが必要とするパラメータの種類ごとに同じ関数を作成することができます

http://download.oracle.com/javase/tutorial/java/generics/gentypes.html

+0

私は実際に、私は 'variable.compareTo(String)を使用したときに、'である、それは 'STRING'機能ではなく' Object'だと言うことを試してみました関数。 – switz

+2

compareTo((String)o).compareTo(otherString)を呼び出す前にキャストしてください。 – kgautron

1

を参照してください。それを使用。呼び出す関数は、パラメータの種類により推定されます。

public void func(String string) {...} 
public void func(double double) {...} 
+0

ポイントは私が1つの関数を作成したいということです。ありがとう。 – switz

関連する問題