如何返回一个元素更大的数组?

时间:2017-11-07 03:11:59

标签: java

我需要编写一个方法ePlus,它接受Employee2数组e作为参数并返回一个Employee数组。返回的数组应该是一个大于e的元素,并包含相同索引中e的所有元素。要扩展e,请使用:e = ePlus(e);.这就是我到目前为止所做的:

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    width: 800px;
    margin: auto;
    background: #FFFFFF;
    padding: 10px 10px 10px 10px;
}

/* Title of the resume */
h1 {
    font-size: 55px;
    color: #757575;
    text-align:center;
    margin-bottom:15px;
}
h1:hover {
    background-color: #757575;
    color: #FFFFFF;
    text-shadow: 1px 1px 1px #333;
}

/* Titles of categories */
h2 {
    color: #397249;
}
/* There is a bar just before each category */
h2:before {
    content: "";
    display: inline-block;
    margin-right:1%;
    width: 16%;
    height: 10px;
    background-color: #9CB770;
}
h2:hover {
    background-color: #397249;
    color: #FFFFFF;
    text-shadow: 1px 1px 1px #333;
}

/* Definitions */
dt {
    float: left;
    clear: left;
    width: 17%;
    /*font-weight: bold;*/
}
dd {
    margin-left: 17%;
}
p {
    margin-top:0;
    margin-bottom:7px;
}

/* Blockquotes */
blockquote {
    text-align: center
}

/* Links */
a {
    text-decoration: none;
    color: #397249;
}
a:hover, a:active {
    background-color: #397249;
    color: #FFFFFF;
    text-decoration: none;
    text-shadow: 1px 1px 1px #333;
}

/* Horizontal separators */
hr {
    color: #A6A6A6;
}

感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

public Employee2[] ePlus(Employee2[] input) {
    Employee2[] output = new Employee2[input.length + 1];
    System.arraycopy(input, 0, output, 0, input.length);
    return output;
}

答案 1 :(得分:0)

你有很多选择,也许最容易的是System.arraycopy()见How to copy an Array in Java

答案 2 :(得分:0)

数组不可变,因此您可以使用arraylist并将其作为数组返回(如果需要)。

答案 3 :(得分:0)

正如@StephenC所建议您可以使用Arrays.copyOf(T[] original, int newLength)

public Employee2[] expandOne(Employee2[] original) {
    int n = original.length;
    Employee2 [] expanded = Arrays.copyOf(original, n+1);

    expanded[n] = new Employee2(); // Assuming Employee2 has a default constructor.

    return expanded;
}