Split 从超类拆分toString
我有一门课要上:Split 从超类拆分toString,split,tostring,stringbuilder,Split,Tostring,Stringbuilder,我有一门课要上: @Override public String toString() { StringBuilder animalString = new StringBuilder(); return animalString.append("Animal [breed=").append(breed).append(", weight in Kilos=").append(weight).append("]").toString(); }
@Override
public String toString() {
StringBuilder animalString = new StringBuilder();
return animalString.append("Animal [breed=").append(breed).append(", weight in Kilos=").append(weight).append("]").toString();
}
@Override
public String toString() {
String animal = (super.toString());
String[] tempString = animal.split("Animal [");
String animalString = tempString[1];
StringBuilder animalSB = new StringBuilder();
return animalSB.append("Cat [hunts=").append(hunts).append(animalString).toString();
}
然后我有一个子类调用上面的toString,然后我尝试拆分它,这样我就可以为toString的子类添加信息:
@Override
public String toString() {
StringBuilder animalString = new StringBuilder();
return animalString.append("Animal [breed=").append(breed).append(", weight in Kilos=").append(weight).append("]").toString();
}
@Override
public String toString() {
String animal = (super.toString());
String[] tempString = animal.split("Animal [");
String animalString = tempString[1];
StringBuilder animalSB = new StringBuilder();
return animalSB.append("Cat [hunts=").append(hunts).append(animalString).toString();
}
然而,在这一点上,它投了一个适合。我可能做错了什么,但就我的一生而言,我不确定那是什么。我可能把它复杂化了,但是任何建议都是非常受欢迎的。split()方法使用一个用作正则表达式的字符串。如果你读过正则表达式(我强烈建议你读),字符“[”有一个特殊的意义,而不是你想要的字面意义。因此,你必须在它前面加上“\\”来转义它
将该行更改为
String[]tempString=animal.split(“animal\\\[”);
,它应该会工作。太棒了!我走的方向是正确的,但我对“[”的认识不足字符。非常感谢!没问题。还有其他具有特殊含义的字符,如花括号、句号等。如果有机会,请查看我推荐的网站,并使用它。