As @ om-nom-nom said, your idiomatic code is already enough
def test(b: Boolean): String = { val sb = new StringBuilder sb.append("a").append(1) if (b) sb.append("b").append(2) sb.append("c").append(3) sb.toString }
I can offer an alternative version, but it is not necessarily more effective or "scala -ish"
def test2(b: Boolean): String = "%s%d%s%s%s%d".format( "a", 1, if (b) "b" else "", if (b) 2 else "", "c", 3)
source share