は相当のスーパーのため替メソッドの呼び出しに内部の分野のラッパークラス

StackOverflow https://stackoverflow.com/questions/1603291

  •  05-07-2019
  •  | 
  •  

質問

ましょうと言いたいクラスを作成する MyString するラッパー java.lang.String.いと呼ぶ新たな方法 reverse.

public class MyString {
    private String text=null;

    public MyString(String foo){
        text=foo;
    }

    public String reverse(){
        // implementation omitted
        return reversedString;  
    }
}

現在 String が優先するものとします。そのためできないので延長します。片て MyString すべての方法 String 支援が提供するラッパー法の実装方法など toCharArray():

public char[] toCharArray(){
    // redirect to String member field 'text'
    return text.toCharArray();
}

があるので、できるリダイレクトメソッドの呼び出しのメンバフィールドなしで実際にコードのラッパーの実装?似たようなスーパー?

役に立ちましたか?

解決

いいえ、での受け付けはできません。

定義ができるインターフェースを含むすべてのjava.lang.文字列の方法(プラスお手法)を実施すると 動的プロキシ 替文字列に実施すべての負の影響の 動的プロキシ).

あまりのと タイプ変換 new MyString(string).reverse() 残念なことにJavaない C#'s延長方法 または Scalaの黙示的に型変換.

もちろんあたっぷり 逆実装, 例から apache commons図書館.で実施手続きのスタイル:

String reversed = StringUtils.reverse(string);

(きたいという逆方法を返しますMyStringない文字列で書くことができ: s.reverse().reverse()).

他のヒント

さらにいかに質問に答えているかどうかわかものの、最終的には、いくつか表示してください MyString 全てのものと同じ方法として String, でも、その一部レベルのクラスもすべて同じ方法で定義されています。したりすることはできませんの中心です。

できるのではないでしょうかく綺麗なのでその方法んタイプ return text.blah(), もより優雅によること。だと思いますか何かできる必要性を回避するためのメソッドの定義お MyString ます。

できないことが好きになっています。でも、たとえば、利用できるボタンひ'を作成"の代表団は..."機能できないものはなく、すべての委譲方法一部のマウスをクリック操作。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top