Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
120 views
in Technique[技术] by (71.8m points)

java - How to pass a checkout StringBuilder object to a method?

I have a method and its require

private static someMethod initSomething(StringBuilder someString, int number){
   ...  
   someString = new StringBuilder();     <- ????
   this.someString.append(someString);   <- ????
}

initSomething("ddddd", 1234);

I just want to pass a string inside this method. And I don't like to use common String, because it is slower StringBuilder.

question from:https://stackoverflow.com/questions/65850788/how-to-pass-a-checkout-stringbuilder-object-to-a-method

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You wrote:

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`?
}

I modified the comments to the original code with observations and questions. I think what you wanted to do is something like this:

private static StringBuilder initSomething(String someString, int number){  
   StringBuilder builder = new StringBuilder();
   builder.append(someString);
   // more code here?
   return builder;
}

Alternatively, you can return a String like this:

return bulder.toString();

If instead you need to pass the StringBuilder object to the method, then you should do something like this:

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();
}

All that said, your question is not clear at all. I am not completely sure what you want to solve. Hopefully this helps.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...