zoukankan      html  css  js  c++  java
  • 11-泛型

    一:

    注意:数据类型的安全性问题可以理解为避免了数据类型转换错误。

     1 package com.example;
     2 //?是通配符,object是任意类型,不写类型
     3 class A<T>{
     4     private T age;
     5     private T name;
     6 
     7     public T getAge() {
     8         return age;
     9     }
    10 
    11     public void setAge(T age) {
    12         this.age = age;
    13     }
    14 
    15     public T getName() {
    16         return name;
    17     }
    18 
    19     public void setName(T name) {
    20         this.name = name;
    21     }
    22 }
    23 public class MyClass {
    24     public static void main(String[] args){
    25         A<String> a = new A<String>();
    26         a.setAge("100");
    27         a.setName("hello");
    28         System.out.println("name is :"+ a.getName() + ",age is :"+ a.getAge());
    29     }
    30 }
    View Code

    二:通配符

    三:泛型接口

     1 package com.example;
     2 interface a<T>{
     3     public abstract void say(T name);
     4 }
     5 
     6 class People implements a<String>{
     7 
     8     int b;
     9 
    10     public int getB() {
    11         return b;
    12     }
    13 
    14     public void setB(int b) {
    15         this.b = b;
    16     }
    17 
    18     @Override
    19     public void say(String name) {
    20         System.out.print(this.getB()+name);
    21 
    22     }
    23 }
    24 
    25 public class MyClass {
    26     public static void main(String[] args){
    27         People p = new People();
    28         p.b = 10;
    29         p.say("hello");
    30     }
    31 }
    View Code

    四:泛型方法

     1 package com.example;
     2 class A {
     3     public <T>T tell(T t){
     4         System.out.println(t);
     5         return t;
     6     };
     7 }
     8 public class MyClass {
     9     public static void main(String[] args){
    10         A a = new A();
    11         a.tell("hello");
    12         a.tell(12);
    13     }
    14 }
    View Code

    五:泛型数组

     1 package com.example;
     2 
     3 public class MyClass {
     4     public static void main(String[] args){
     5         String arr[] = {"i","am","zwzx"};
     6         tell(arr);
     7     }
     8     public static  <T>void tell(T arr[]){
     9         for (int i = 0 ;i <arr.length;i++){
    10             System.out.println(arr[i]);
    11         }
    12     }
    13 }
    View Code
  • 相关阅读:
    AD9 如何画4层pcb板
    在Altium Designer 2009下如何添加Logo图
    [置顶] 整数拆分 整合算法
    altium designer 中的top/bottom solder和top/bottom paste mask
    vs2012 与 win7 不兼容的问题
    poj1742 Coins
    poj3181 Dollar Dayz
    poj1065 Wooden Sticks
    poj1631 Bridging signals
    poj3666 Making the Grade
  • 原文地址:https://www.cnblogs.com/BelieveFish/p/6295118.html
Copyright © 2011-2022 走看看