我需要將基元的動態列表傳遞給Java方法。這可能是(int,int,float)或(double,char)或其他。我知道這是不可能的,所以我正在考慮解決這個問題的有效方法。由於我在Android上開發了一款遊戲,我希望儘可能避免垃圾回收,因此我不想使用任何對象(例如由於自動裝箱),而只使用原始數據類型。因此,在我的情況下,原始類對象(例如Integer)的集合或數組不是一個選項。將基元的動態列表傳遞給Java方法
所以我想我是否可以傳遞一個類對象給我的方法,它將包含我需要的所有原始值。然而,這不是我的問題的解決方案,因爲如上所述,基元列表是可變的。因此,如果我在我的方法中採用這種方式,那麼我不知道如何訪問這個原始的基元列表(至少不是沒有任何轉換到對象,這是我想要避免的)。
現在我覺得在這裏有點失落。我不知道Java中的任何其他可能的方式如何解決我的問題。我希望這只是我缺乏知識。您是否有人知道沒有與對象進行轉換的解決方案?
你確定你不是在你的項目太快優化? 您可以傳遞三種不同類型的三個數組。傳遞第四類型的指標。然後將值從適當的偏移量拖到該給定類型的數組中。 – Marvo
坦率地說,我認爲我沒有儘快優化,因爲我已經知道在我的項目中我必須經常調用這個方法。而且我也知道,不幸的是auto(un)boxing往往會觸發垃圾收集器的方式太多。 – Matthias
你能解釋爲什麼你需要這個要求嗎?我在Java中編寫了很多遊戲,這對我來說從未是必要的,所以我很確定有一種避免分配的解決方法。 – mikera