1

MyStringユーザーは、オブジェクトに のような char 配列、または "hello" などの文字列を渡すことができる必要がありますarr = {'g','o','o','d','b','y','e' }。二重型を受け取ることができるメソッドを作成する方法がわからないため、どこから始めればよいかわかりません。 .

4

2 に答える 2

3

メソッドをオーバーロードするだけです。

public static String foo(String s) {
    // do something 
}

public static String foo(char[] s) {
    return foo(new String(s));
}

編集あなたのタイトルではメソッドと言いますが、あなたの例ではコンストラクターを示しています。とにかく、同じ考えを両方に適用することができます。

public MyString(String s) {
    // do something
}

public MyString(char[] s) {
    this(new String(s));
}
于 2012-11-13T23:51:43.277 に答える
1

私はこのようなものがうまくいくと思うだろう

public class MyString {

    private char[] val

    public MyString(String s) {
        val = s.toCharArray();
    }

    public MyString(char[] c) {
        val = c;
    }

    public String toString() {
        return new String(val);
    }

    public char charAt(int i) {
        return val[i];
    }
}

これはかなりスケルトン化されていますが、これが私がアプローチする方法です。それが役に立てば幸い :)

于 2012-11-13T23:56:42.523 に答える