Java:1.泛型的向上限定和向下限定;2.泛型的四种遍历方式;3.可变参数应用于N个数求和问题。

1.泛型的向上限定和向下限定

import java.util.ArrayList;
import java.util.Collection;

class Animal {
    
    
}

class Dog extends Animal {
    
    
}

class Cat extends Animal {
    
    
}

class GenericDemo {
    
    
    public static void main(String[] args) {
    
    
        Collection<Object> c1 = new ArrayList<Object>();
        Collection<Animal> c2 = new ArrayList<Animal>();
        //? super Animal:向上限定Animal及其子类。
        Collection<? super Animal> c3 = new ArrayList<Object>();
        Collection<? super Animal> c4 = new ArrayList<Animal>();
        //? super Animal:向下限定Animal及其子类。
        Collection<? extends Animal> c5 = new ArrayList<Animal>();
        Collection<? extends Animal> c6 = new ArrayList<Dog>();
        Collection<? extends Animal> c7 = new ArrayList<Cat>();
    }
}

2.泛型的四种遍历方式

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class ArrayListTest {
    
    
    public static void main(String[] args) {
    
    
        Student s1 = new Student("张三", 20);
        Student s2 = new Student("李四", 21);
        Student s3 = new Student("王五", 22);
        List<Student> list = new ArrayList<>();
        list.add(s1);
        list.add(s2);
        list.add(s3);
        //使用迭代器遍历
        Iterator<Student> iterator = list.iterator();
        while (iterator.hasNext()) {
    
    
            System.out.println(iterator.next());
        }
        System.out.println("------------------");
        //使用列表迭代器遍历
        ListIterator<Student> listIterator = list.listIterator();
        while (listIterator.hasNext()) {
    
    
            System.out.println(listIterator.next());
        }
        //使用size()和get()方法遍历
        System.out.println("------------------");
        for (int i = 0; i < list.size(); i++) {
    
    
            System.out.println(list.get(i));
        }
        System.out.println("------------------");
        //使用增强for遍历
        for (Student i : list) {
    
    
            System.out.println(i);
        }
    }
}

运行结果为:
在这里插入图片描述

3.可变参数应用于N个数求和问题

public class AdditionTest {
    
    
    public static void main(String[] args) {
    
    
        System.out.println(Add(1, 2));
        System.out.println(Add(1, 2, 3));
    }

    public static int Add(int... num) {
    
    
        int sum = 0;
        for (int i : num) {
    
    
            sum = sum + i;
        }
        return sum;
    }
}

运行结果为:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45631296/article/details/102945975