A と B の 2 つのクラスがあります。A には、任意の型の任意の数のパラメーターを持つことができるメソッド、たとえば foo があります。このメソッドは、これらのパラメータを、事前に定義されたタイプの事前に定義された数のパラメータを持つメソッドに中継します。
Class A{
foo(<?> ... params){
(new B()).bar(params);
}
}
Class B{
bar(int a, int b){
Log.v("The params passed are "+a+" and "+b);
}
}
Class Caller{
callingMethod(){
(new A()).foo(1, 2);
}
}
私が書き留めた foo の署名をコンパイラが許可しないことはわかっています。私が達成しようとしていることを説明するためだけにそれを書きました。
クラス B の bar(int, int) でキャストを行いたくありません。