在Java / Inheritance中重用静态字符串数组,就像字符串数组中的概念一样

时间:2014-01-15 04:46:05

标签: java arrays inheritance multidimensional-array

private static String[][] s1 = {
        { "a", "a1" },
        { "b", "b1" },
        { "c", "c1" },
        { "d", "d1" },
}

private static String[][] s2 = {
        { "c", "c1" },
        { "d", "d1" },
        { "e", "e1" },
        { "f", "f1" },
}

这里c,c1和d,d1在那些字符串数组中重复。 如何把它放在外面并把它放在一个公共字符串数组中说s3,s1和s2重用/继承它,这样它就不需要在两个不同的地方声明了?

2 个答案:

答案 0 :(得分:3)

static String[] common = { "c", "c1" };

private static String[][] s1 = {
    { "a", "a1" },
    { "b", "b1" },
    common,
    { "d", "d1" }
}

private static String[][] s2 = {
    common,
    { "d", "d1" },
    { "e", "e1" },
    { "f", "f1" }
}

工作正常。

答案 1 :(得分:2)

您可以使用ArrayList而不是String Array,因为如果使用String数组,很难删除/插入元素。

ArrayList<String[]> s1=new ArrayList<String[]>();
ArrayList<String[]> s2=new ArrayList<String[]>();

使用 add()方法添加所有元素,并使用 contains()方法扫描列表以找出重叠元素。找到该元素并保存并删除它。