黑马程序员技术交流社区

标题: 程序的改写 [打印本页]

作者: jix707    时间: 2013-8-13 14:58
标题: 程序的改写
复制代码这是毕老师视频中的一个练习,如何将singleElement()这个函数改写为非静态的方法,可被对象调用?求指教
作者: 赵国刚    时间: 2013-8-13 15:09
package day28;


import java.lang.reflect.Method;

import java.util.*;

class RemoveArrayListTest
{

        public static void sop(Object obj)

        {

                System.out.println(obj);

        }

        

        public static void main(String[] args) throws Exception, Exception
        {

                ArrayList al = new ArrayList();

                al.add("java01");

                al.add("java02");

                al.add("java03");

                al.add("java01");

                al.add("java03");

                al.add("java02");

                al.add("java05");

                al.add("java04");

                sop("原集合:" + al);

                Method method=RemoveArrayListTest.class.getMethod("singleElement", ArrayList.class);

                al=(ArrayList)method.invoke(new RemoveArrayListTest(), al);

                //al = singleElement(al);

                sop("新集合:" + al);

        }


        public  ArrayList singleElement(ArrayList al)

        {

                //定义一个临时容器

                ArrayList newAl = new ArrayList();

                Iterator it = al.listIterator();

                //判断是否有重复值,没有则加入新集合

                while (it.hasNext())

                {

                        Object obj = it.next();

                        if (!newAl.contains(obj))

                                newAl.add(obj);

                }

                return newAl;               
        }

}用反射




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2