四、Java高级--1、泛型

2018-05-07  本文已影响0人  cybeyond
/*
默认的list,此时创建一个mylist,里面的数据类型都可以放,不限制
*/
package javastudy;

import java.util.LinkedList;
import java.util.List;

public class Test1 {

   public static void main(String[] args) {
       // TODO Auto-generated method stub
       List myList=new LinkedList();
       myList.add(100);
       int x=(int)myList.get(0); //强制转换,将对象转换为int类型
       System.out.println(x);
   }
}

执行结果

使用泛型,其数据类型只能是integer

package javastudy;

import java.util.LinkedList;
import java.util.List;
public class Test1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        List<Integer> myList=new LinkedList<Integer>(); //只允许int类型
        myList.add(200);
        int x=myList.get(0);
        System.out.println(x);
    }
}
执行结果
package javastudy;

import java.util.LinkedList;
import java.util.List;
public class Test1 {

    public static void main(String[] args) {
        MyTest<String> mt=new MyTest<String>();
        mt.setVar("jack");
        mt.print();
    }
}
class MyTest<T>{  //<>是一个类型,但具体类型没有确定
    T vare ;
    void setVar(T vare){
        this.vare=vare;
    }
    T getVar(){
        return vare;
    }
    void print(){
        System.out.println(vare);
    }
}
执行结果

*定义一个类,将泛型类型定义为类

package javastudy;

import java.util.LinkedList;
import java.util.List;
public class Test1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyTest<Person> mt=new MyTest<Person>();//泛型类型定义为一个类
        Person p=new Person("Mark", 25);
        mt.setVar(p);  //泛型类型定义为一个类
        mt.print();
    }
}
class MyTest<T>{  //<>是一个类型,但具体类型没有确定
    T vare ;
    void setVar(T vare){
        this.vare=vare;
    }
    T getVar(){
        return vare;
    }
    void print(){
        System.out.println(vare);
    }
}
class Person{
    @Override
    public String toString() { //重写toString方法,调用print的person时,使用toString
        // TODO Auto-generated method stub
        return "姓名:"+name+",年龄:"+age;
    }
    String name;
    int age;
    Person(String name,int age){
        this.name=name;
        this.age=age;
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读