与int不兼容(getLast()方法)

时间:2014-09-22 18:02:28

标签: java arrays methods

我有一个字符串数组

 String[] names; 

假设数组中有一定数量的元素

我想创建一个返回字符串

的getLast方法
  public String getLast() {

    return names.length - 1; 

}

这给了我一个不兼容的错误。

我怎么能这样做才能返回一个字符串?

添加方法

也是如此
 public void add(int index, String element){

我很好奇如何在不使用Linkedlist或Arraylist的情况下工作,而是使用基于数组的列表。

8 个答案:

答案 0 :(得分:4)

我认为这就是你要找的东西:

public String getLast(){
   return names[names.length-1];
}

[]是索引的数组访问 如果数组A的大小为10,则最后一项为A [9] 这是因为编号总是从0开始。

对于 add 方法,您需要按给定索引访问数组元素并替换它的值:

public void add(int index, String element){
   names[index] = element;
}  

答案 1 :(得分:2)

只做

public String getLast() {
    return names[names.length - 1]; 
}

如果您不明白,则应深入了解Java Arrays

  

我很好奇如果不使用Linkedlist或Arraylist,这将如何工作,   而是一个基于数组的列表。

ArrayList 基于数组的列表。

答案 2 :(得分:1)

当前的getLast()在期待字符串时返回一个int(names.length - 1)。您可以通过访问数组的最后一个索引来更正此问题。

public String getLast(){
   return names[names.length-1];
}

您认为add(int index, String s)要做什么?假设我在已经填充了另一个字符串的索引处添加。它应该覆盖吗?或者将所有以下元素移动以腾出空间?

答案 3 :(得分:1)

获取最后一个元素:

   public String getLast() {
        return names[names.length - 1];
      }

将一个String元素添加到数组

    public void add(int index, String element) {
    int len = names.length;
    if (index < len)
      names[index] = element;
    else {
      names = Arrays.copyOf(names, len + (index - len + 1));
      names[index] = element;
    }
  }

答案 4 :(得分:0)

public String getLast()
{
   return names[names.length -1];
}

您需要访问位置长度为1的数组,这是最后一个位置。

答案 5 :(得分:0)

试试这个

public String getLast() {
    return names[names.length - 1]; 
}

答案 6 :(得分:0)

此方法返回一个int,它应该返回一个String:

public String getLast() {
   return names.length - 1; 
}

应该是

public String getLast() {
   return names[names.length - 1]; 
}

答案 7 :(得分:0)

names.length - 1是一个整数,是String数组中最后一个String的索引。您正在寻找最后一个String,因此您可以使用索引来访问最后一个元素。

public String getLast() {
    return names[names.length - 1];
}