次のようなexistsクラスにいくつかのメソッドを追加する方法を探しています。
String s = "";
s.doSomething();
Objective Cでは、カテゴリを使用してこれを行うことができます。
@interface NSString( Stuff)
-(void)doSomething();
@end
アンドロイドはそのようなものを持っていますか?または別のハック?
更新:実際、私はこの問題を抱えています:私はjarファイルからのクラス(finalではない)を使用しています(したがって、そのソースコードに触れることができません)。次に、継承を使用せずにこのクラスにメソッド(またはそのようなもの)を追加したいと思います。例えば:
public class Provider{
// many methods and fields go here...
public String getName(){}
}
私がしたいのは:
provider.print(); //that call getName() method;
プロキシパターンも試しましたが、うまくいきましたが、その方法は好きではありません(ラッパークラスが好きなので、 1つのメソッドのみを使用するには、多くのフィールドとメソッドを持つオブジェクトを格納する必要があります)。
public class ProxyProvider{
Provider provider;
public ProxyProvider(Provider provider){
this.provider = provider;
}
public void print(){
String name = provider.getName();
//do something
}
}
それを解決する方法はありますか?