0
我正在进行一项练习,其中包括创建我自己的String类实现,以及此类中存在的一些方法。我在创建一个返回子字符串的工作方法时遇到了一些麻烦。到目前为止,我的课程实施如下所示:创建我自己的字符串类/子字符串方法
public class MyString2 {
private String s;
public MyString2(String s) {
this.s = s;
}
public MyString2 substring(int begin) {
String substring = "";
for (int i = begin; i < s.length(); i++) {
substring += s.charAt(i);
}
return new MyString2(substring);
}
}
该方法背后的想法非常简单;
创建一个空白子字符串,然后从输入字符串中从选定索引开始,对每个字符进行连接。下面是测试类的主要方法:
public static void main(String[] args) {
MyString2 s1 = new MyString2("string");
MyString2 substring = s1.substring(3);
System.out.println(substring);
}
程序返回[email protected],谁能告诉我什么是错我的程序?
非常感谢,这工作就像一个魅力!我应该自己想过这个,但在练习描述中,toString()方法不在该类应包含的方法列表中。 – Esben86
这可能是因为它不是您自己实现的方法,而是,Java中的每个对象都是https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html的子类。包含'toString()','hashCode()'和'equals()'等方法,您可以使用自己的实现来覆盖所有这些方法。 – nbokmans