Java通用方法

时间:2012-11-10 01:58:41

标签: java generics arraylist generic-method

原始问题:

  

编写以下返回新ArrayList的方法。新名单   ONLY包含原始列表中包含的元音元素   一组英文字符(a,e,i,o,u)。

这是我到目前为止所拥有的。我相信我创建了正确的通用方法来打印出我的数组字符列表,我正在努力将元音放入另一个数组并打印出来。有什么建议?我想我可能需要创建一个通用的“元音”ArrayList来让它运行?我是在正确的轨道上吗?

感谢您的帮助!

到目前为止,这是我的代码:

import java.util.*;

public class test5 {

    public static void main(String[] args) {

    Character [] letters ={'a', 'r', 'y', 'i', 'i', 'o', 's', 'p', 'q', 'x', 'd', 'e', 'j'};
    Character [] vowels ={};

    test5.print(letters);
    test5.print(vowels);      

    }  

 public static <E> void print(E[] list) {
 for (int i=0; i < list.length; i++)
     System.out.print(list[i] + "");
     System.out.println();

    }

public <E> void vowels(E[] list){

 for (int i=0; i < list.length; i++)

     if (i=='a')
         vowels.add(i);

     else if (i=='e')
         vowels.add(i);

}

public static <E> void vowelsArray(E[] list){

     for(int i = 0; i<vowels.size(); i++)
       System.out.print(vowels.get(i));

}

}

1 个答案:

答案 0 :(得分:1)

听起来这个任务的重点是教你使用List(ArrayList是一种List)。

到目前为止,你根本没有使用ArrayList:你正在使用数组。

有很大的不同。

列表很有用,因为与数组不同,它们可以动态增长。

您的老师希望您迭代输入中的字母并将每个元音添加到列表中。

首先应该看看JavaDoc for List和ArrayList:

您的代码现在的方式,不需要泛型。

你真的不需要通用方法。

您需要一个返回类型列表的方法。

这是一个提示......这是你创建一个Character对象列表的方法:

List<Character> characterList = new ArrayList<Character>();