到目前为止,如果我尝试使用 concat 运算符,我会收到此错误 Tester.java:14: cannot find symbol symbol : method concat(MyString) location: class MyString System.out.println(hello.concat(goodbye)); // 打印“hellogoodbye”
当我尝试打印 MyString 的“hello”对象时,我得到 MyString@558ee9d6 我觉得它离工作太近了。
public class MyString
{
private char[] charString;
private String oneString;
public MyString(String string)
{
this.oneString = string;
}
//second constructor for overloading
public MyString(char[] s)
{
this.charString = s;
this.oneString = charString.toString();
}
//methods
public String toString( char [] s)
{
return new String(s);
}
public char charAt(int i) {
char [] temp = new char[oneString.length()];
for ( int j = 0; j < oneString.length() ; j++)
temp[j] = oneString.charAt(i);
return temp[i];
}
public String concat ( char[] s)
{
s.toString();
String result = oneString + s;
return result;
}
public String concat ( String s)
{
String result = oneString + s;
return result;
}
}
public class Tester { public static void main (String[] args)
{
MyString hello = new MyString("hello");
System.out.println(hello); // right now this prints MyString@558ee9d6
System.out.println(hello.charAt(0)); // works, prints 'h'
char[] arr = {'g','o','o','d','b','y','e' };
MyString goodbye = new MyString(arr);
// System.out.println(hello.concat(goodbye)); // i can't get this line to work
System.out.println(hello.equals(goodbye)); // works, prints false
System.out.println(hello.equals(hello)); //works, prints true
}
}