0

我需要将另一个字节数组(一维)附加到恰好是二维的现有字节数组中。

public static byte[][] ALL_MESSAGES = new byte[][] {SMART_POSTER_NO_TEXT, ENGLISH_PLAIN_TEXT, SMART_POSTER_URL_AND_TEXT};

public void AddOtherMessages()
{
    OtherMessageClass messages = new OtherMessageClass();

    for(NMessage m : messages.Ntexts)
    {
        ArrayUtil.addAll(ALL_MESSAGES, m);
    }

}

显然,上面的代码不起作用,因为我正在使用 AddAll 将两个数组(一个是多维数组)添加到另一个数组,一个单维数组。我需要一些帮助,将m附加到 ALL_MESSAGES。

另外,我需要导入什么 Java 命名空间才能做到这一点?

4

2 回答 2

0

如果我理解正确,你想添加额外的数组ALL_MESSAGES吗?在这种情况下,我认为您应该考虑使用列表:

List<byte[]> list = new ArrayList<byte[]>();

然后您可以添加任意数量的byte[]数组:

list.add(new byte[] {1,2,3}); //just an example

您可以轻松地全部检索它们:

for(byte [] array : list)
{
    //do whatever you like with your individual arrays
}

您还可以获得单个元素(就像使用索引运算符一样):

byte [] array = list.get(0);
于 2012-09-17T03:41:30.090 回答
0

ArrayUtil 是 'org.apache.commons.lang' 包的一部分。因此,您还必须包含相应的 jar 文件才能使用它。

您将需要 apache-commons-lang.jar,并且必须导入 org.apache.commons.lang.ArrayUtils。有关更多详细信息,请参阅http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/ArrayUtils.html

    for(NMessage m : messages.Ntexts)
    {
        ArrayUtil.addAll(ALL_MESSAGES, m);
    }

上面的代码将不起作用 m 不是字节 [] []。如果 m 是 byte[] 你应该使用 'add()' 方法。如果 messages.Ntexts 返回 byte[][] 你也可以使用 'addAll()' 方法。

于 2012-09-17T03:33:10.223 回答