讀取產生的來源
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
類別名稱對應
由於 J2ObjC 只會轉譯非 UI 的 Java 類別,因此 iOS 應用程式必須與
使用經過翻譯的類別轉譯的類別屬於一般 NSObject 根層級的 Objective-C 類別
將協助您瞭解類別、方法、參數和標頭檔案名稱的轉換方式。
Java 使用套件來定義命名空間,而 Objective-C 沒有套件,而是
將共用前置字串加到相關類別 (例如 NSObject 和 NSString) 的前方。目的地:
會保留 Java 命名空間、套件名稱會對應至採用駝峰式大小寫的前置字串。例如:
根據預設,java.util.List
會對應至 JavaUtilList
。您可以明確設定這個預設前置字串
使用 j2objc 的套件前置字串選項。
參數名稱
Java 會根據引數型別來區分超載方法,Objective-C 則使用引數
。因此,J2ObjC 會根據其型別建立引數名稱。舉個例子
物件會插入 ArrayList
的開頭,接著如何新增至另一個物件
清單:
[someList addWithInt:0 withId:object];
[otherList addAllWithJavaUtilCollection:somelist];
每個引數名稱均包含「with」加上它的類型這有點醜,但也確保
方法,將一律像 Java 一樣在 Objective-C 中叫用。
標頭檔案的名稱並未對應,而是 Java 來源檔案路徑
結尾為「.h」而不是「.java」。這讓 Xcode 等支援工具變得更容易
但一開始可能會令人困惑,因為:
#import "java/util/Date.h"
宣告 JavaUtilDate
類別,而非 Date
。
使用已翻譯的類別
除了奇數名稱 (可使用套件前置字串加以簡化) 之外,
翻譯類別的使用方式與其他 Objective-C 類別相同:
#import "java/util/BitSet.h"
...
JavaUtilBitSet *bitset = [[JavaUtilBitSet alloc] init];
[bitset setWithInt:10 withBOOL:YES];
BOOL b = [bitset getWithInt:10];
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-25 (世界標準時間)。
[[["容易理解","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"]],["上次更新時間:2025-07-25 (世界標準時間)。"],[],["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"]]