我正在做一个练习,其中包括使用该类中存在的一些方法创建我自己的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,谁能告诉我我的程序出了什么问题?
当前,您正在打印对象而不是其内容。您可以toString()
在MyString2
班级中改写以更改此行为:
@Override
public String toString() {
return s;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句