【发布时间】:2012-08-26 19:01:36
【问题描述】:
我试图弄清楚 java 类是如何工作的。
当我创建StringBuilder:
StringBuilder testString = new StringBuilder("Hello World!);
如果我想获取 testSting 引用的值,我可以简单地将其称为:System.out.println(testString);
这是很酷的行为,但我不确定如何在我制作的类中复制它。
例如,如果我要尝试重新实现我自己的StringBuilder 版本,我会采取的方法(作为初学者)是这样的:
class MyBuilder {
char[] string;
public MyBuilder(String s) {
string = new char[s.length()];
string = s.toCharArray();
}
因此,为了使字符串成为数组,我必须将其存储在类的数据字段中。但是,要在我的代码中访问它,我不能通过简单地调用变量名来打印它。我将不得不使用.property 语法。因此,要复制上面的示例,我必须输入System.out.println(testString.value);,这几乎没有那么漂亮。
如何创建一个类,使其行为类似于String 或StringBuilder 并在不手动访问数据字段的情况下返回其值?
【问题讨论】:
-
覆盖
toString。PrintStream.println只是做toString来确定字符串表示。
标签: java string stringbuilder