Smalltalk は、Objective C と同様にインライン パラメーターを使用します。Java (および Algol から派生した他のほとんどの言語) では、複数のパラメーターを使用している場合、このスタイルは不可能です。したがって、インライン パラメーターを含む Smalltalk メッセージを Java メソッドに変換する規則を使用する必要があります。
Cocoa Java バインディングは、アンダースコアを使用してメッセージ名を結合し、パラメーターを次の順序で追加しますat_put(cell, data)
。foreColor_backColor_cell(color1, color2, cell)
キャメル ケースのバリアントを使用することもできます。ただし、これにより名前の衝突が発生する可能性があります (たとえば、Smalltalk メッセージがある場合、 に短縮するatPut
ことはできません) 。at:put:
atPut
inline-parameters の変換とは別に、Smalltalk コードが予約済みキーワードを使用しているという問題に遭遇する可能性もあります。たとえば、for
は Smalltalk では完全に有効なメッセージですが、Java メソッドに名前を付けてはなりませんfor
。このような場合は、エスケープ戦略を採用する必要があります。たとえば、Java メソッドが になるようにアンダースコアを付けるなどfor_
です。