As always, the devil is in the details, but...
If what you need is 10,000 Strings that consist of two components, then you don't have much choice, really, other than using a StringBuffer (actually, in new code,
Java 5's StringBuilder is a better choice, but the APIs are identical). You could use a char[] and do the moral equivalent of append() yourself, but it would be unlikely to be worth the effort.
But if you're doing something further with 'color', such that you don't really need it as a
String itself -- for example, just printing it -- then it would be better to avoid the StringBuffer here.
So I guess I'm saying that we
still need more information to give a really good answer.