我有一个方法和它的要求
private static someMethod initSomething(StringBuilder someString, int number){
...
someString = new StringBuilder(); <- ????
this.someString.append(someString); <- ????
}
initSomething("ddddd", 1234);
我只想在这个方法中传递一个字符串。我不喜欢使用普通字符串,因为它是较慢的StringBuilder。
您写的:
private static someMethod initSomething(StringBuilder someString, int number){
someString = new StringBuilder(); <- You just overwrote `someString`
this.someString.append(someString); <- Appending `someString`onto itself?
// You are also missing `return`. And what is `someMethod`?
}
我用观察和问题修改了对原始代码的注释。我想你应该是这样做的:
private static StringBuilder initSomething(String someString, int number){
StringBuilder builder = new StringBuilder();
builder.append(someString);
// more code here?
return builder;
}
或者,您可以像这样返回一个String:
return bulder.toString();
如果您需要将StringBuilder
对象传递给方法,则应该这样做:
private static String initSomething(StringBuilder builder, int number){
builder.append(...); <- what is being appended, number? You'll need to pass what is being appended to the method
// more code here?
return builder.toString();
}
尽管如此,你的问题还是很不清楚。我不太清楚你想解什么。希望这对你有帮助。