如何将checkout StringBuilder对象传递给方法?



我有一个方法和它的要求

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();
}
尽管如此,你的问题还是很不清楚。我不太清楚你想解什么。希望这对你有帮助。

最新更新