创建我自己的String类/子串方法

Esb*_*n86 0 java string substring

我正在进行一项练习,包括创建我自己的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);
    }

}
Run Code Online (Sandbox Code Playgroud)

该方法背后的想法非常简单;

创建一个空子字符串,然后从输入字符串开始,从所选索引开始连接每个字符.以下是测试类的主要方法:

public static void main(String[] args) {

        MyString2 s1 = new MyString2("string");     
        MyString2 substring = s1.substring(3);

        System.out.println(substring);

    }
Run Code Online (Sandbox Code Playgroud)

该程序返回ch10.MyString2@2a139a55,任何人都可以告诉我我的程序有什么问题吗?

nbo*_*ans 8

目前,您正在打印对象而不是它的内容.您可以toString()MyString2类中重写以更改此行为:

@Override
public String toString() {
    return s;
}
Run Code Online (Sandbox Code Playgroud)