1

用户必须能够向MyString对象传递一个 char 数组arr = {'g','o','o','d','b','y','e' },或者一个字符串,比如“hello”。我不知道从哪里开始,因为我不知道如何制作一个可以接收双重类型的方法。 .

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 回答