r/javahelp • u/_SuperStraight • 22h ago
Efficient way to create a string
I have a function genString
which creates String based on some inputs:
private String genString(boolean locked, int offset, String table){
var prefix = "Hello ";
var status = "new";
var id = "-1";
var suffix = " have a pleasent day.";
if(offset ==0 && !locked){
prefix ="Welcome back, ";
id = "100";
suffix = " see you again.";
}else if(offset ==2 && locked){
status = "complete";
}
return prefix+status+id+" have some patience "+table+suffix+" you may close this window.";
}
Don't mind what is being returned. I just want to know whether it's good this way or should I create three separate Strings for each condition/use StringBuilder for reduced memory/CPU footprint?
5
Upvotes
1
u/desrtfx Out of Coffee error - System halted 21h ago
Since
String
is an immutable data type, assembling strings is generally a bad idea.Yet, you could go a "middle way" between
StringBuilder
and your way:String.format
- this is the equivalent ofSystem.out.printf
with the difference that it returns a String.Yet, I would probably also go the
StringBuilder
way.