Nun so weit reichen eine Kenntnisse nicht! Ich kenne den Sourcecode von Java nicht
Wie Du merkst gibt es unterschiedliche Herangehensweisen an die Dinge, mit unterschiedlichen Vor- und Nachteilen und man kann Dinge anders lösen als in Objective-C!
Hier haben wir definitiv einen Nachteil, wenn man Strings so verwendet wie man es aus anderen Sprachen kennt. Da aber ein Großteil der Stringnutzung ein stumpfes Ausgeben von impliziten Konstanten (Literalen) darstellt und für Stringmanipulationen ein Extraobjekt ( der Stringbuffer) bereitsteht ist das überhaupt kein Problem. Es gilt halt wie immer: "know your tools" und "nur weil etwas anders ist muß es nicht schlechter sein!".