簡體   English   中英

使用二維雙數組字面量初始化 Java 對象數組元素

[英]Initialize Java Object array element with 2D double array literal

對於某個 API [1],數據數組必須作為 Java Object數組的元素(每個數組一個這樣的元素)傳遞。 以下工作正常,並且 API 接受二維雙數組AInData作為第一個參數(並且只有 1 個參數):

double[][] AInData = {{1.1, 1.2, 1.3}, {2.1, 2.2, 2.3}};
Object[] arObj = { AInData };

由於浮點文字默認為double ,我想我可以不用中間變量AInData

Object[] arObj = { {{1.1, 1.2, 1.3}, {2.1, 2.2, 2.3}} };

這導致了以下錯誤:

illegal initializer for Object
Object[] arObj = { {{1.1, 1.2, 1.3}, {2.1, 2.2, 2.3}} };
                   ^
illegal initializer for <none>
Object[] arObj = { {{1.1, 1.2, 1.3}, {2.1, 2.2, 2.3}} };
                    ^
illegal initializer for <none>
Object[] arObj = { {{1.1, 1.2, 1.3}, {2.1, 2.2, 2.3}} };
                                     ^

為什么我AInData

如果文字確實默認為double ,則在初始化AInData時不會進行強制轉換。

筆記:

[1] Matlab 接口

其實你可以

Object [] arObj = new double [][][] {{{1.1, 1.2, 1.3}, {2.1, 2.2, 2.3}} };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM