Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Split 从超类拆分toString_Split_Tostring_Stringbuilder - Fatal编程技术网

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\\\[”);
,它应该会工作。

太棒了!我走的方向是正确的,但我对“[”的认识不足字符。非常感谢!没问题。还有其他具有特殊含义的字符,如花括号、句号等。如果有机会,请查看我推荐的网站,并使用它。