Search code examples
javastringmethodsstringbuilder

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.


Solution

  • 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.