生成されたソースの読み取り
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
クラス名のマッピング
J2ObjC は UI 以外の Java クラスのみを変換するため、iOS アプリケーションは
表示されます。変換されたクラスは、通常の NSObject ルート Objective-C クラスですが、
クラス、メソッド、パラメータ、ヘッダーのファイル名がどのように変換されるかを理解するのに役立ちます。
Java はパッケージを使用して名前空間を定義しますが、Objective-C にはパッケージがなく、代わりに
関連するクラス(NSObject や NSString など)の前に共有接頭辞を付ける規則です。宛先
Java 名前空間を保持する場合、パッケージ名はキャメルケース プレフィックスにマッピングされます。たとえば
java.util.List
はデフォルトで JavaUtilList
にマッピングされます。このデフォルトの接頭辞は、Google Cloud
j2objc のパッケージ接頭辞オプションを使用します。
パラメータ名
Java はオーバーロードされたメソッドを引数の型で区別しますが、Objective-C では引数
できます。そのため、J2ObjC はその型から引数名を作成します。たとえばこれは
オブジェクトを ArrayList
の先頭に挿入して、そのリストを別のリストにどのように追加するか
list:
[someList addWithInt:0 withId:object];
[otherList addAllWithJavaUtilCollection:somelist];
各引数名は "with" 記号で型を指定します。やや見にくくなりますが、同じことが確実に
メソッドは、Java の場合と同じように、常に Objective-C で呼び出されます。
ただし、ヘッダー ファイルの名前はマッピングされず、Java ソースファイルのパスがマッピングされます。
末尾が「.h」「.java」と入力します。これにより、Xcode や Make などのサポートツールが
最初は少しわかりにくかったかもしれませんが
#import "java/util/Date.h"
Date
ではなく JavaUtilDate
クラスを宣言している。
変換されたクラスの使用
奇妙な名前(パッケージ プレフィックスで簡略化できる)を除き、
変換されたクラスは、他の Objective-C クラスと同じように使用できます。
#import "java/util/BitSet.h"
...
JavaUtilBitSet *bitset = [[JavaUtilBitSet alloc] init];
[bitset setWithInt:10 withBOOL:YES];
BOOL b = [bitset getWithInt:10];
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-10-14 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-10-14 UTC。"],[[["J2ObjC translates non-UI Java classes into NSObject-rooted Objective-C classes, mapping Java packages to camel-cased prefixes for Objective-C class names (e.g., `java.util.List` becomes `JavaUtilList`)."],["Objective-C argument names are generated from Java argument types to handle method overloading, resulting in names like `addWithInt` and `addAllWithJavaUtilCollection`."],["Header file names mirror Java source file paths with a \".h\" extension, so importing \"java/util/Date.h\" declares the `JavaUtilDate` class."],["Translated classes are used like typical Objective-C classes, despite the naming conventions, allowing developers to interact with them using standard Objective-C syntax."]]],["Java package names are converted into camel-cased prefixes for Objective-C classes, such as `java.util.List` becoming `JavaUtilList`. Method parameter names are prefixed with \"with\" followed by the parameter's type, like `addWithInt:withId:`. Header files retain the Java source file path, ending with \".h\", for example, `#import \"java/util/Date.h\"`. Translated classes are used as any other Objective-C classes. Package prefixes can be simplified using package prefix options.\n"]]