assert "a"+"b" == "ab"

String a = "a";
assert a + "b" != "ab"

これなんでや、下の assert は StringBuilder が使われるからってのはわかるけど

"a"+"b" はStringBuilder 使われずに、コンパイル時にリテラルの"ab"と見なされるんか?