用户必须能够将MyString
对象传递给arr = {'g','o','o','d','b','y','e' }
这样的字符数组,或者像“hello”这样的字符串传递
我不知道从哪里开始,因为我不知道如何制作一个可以接收双重类型的方法。
答案 0 :(得分: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));
}
答案 1 :(得分: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];
}
}
这是非常镂空的,但这是我接近它的方式。希望它有所帮助:)