我正在进行一项练习,包括创建我自己的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);
}
程序返回 ch10.MyString2@2a139a55 ,有人可以告诉我我的程序有什么问题吗?
答案 0 :(得分:8)
目前,您正在打印对象而不是它的内容。您可以覆盖toString()
类中的MyString2
来更改此行为:
@Override
public String toString() {
return s;
}