java 学习笔记 8 泛型和枚举

本文介绍Java中泛型的基本概念及使用方法,包括如何使用泛型实例化对象及其限制,以及枚举类型的特性与应用,通过示例代码演示其具体用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 泛型的小知识点

 

         (1) 使用System.getProperties()  ,可以返回系统的环境变量

         (2) 泛型, 即为变量类型的参数化 ;

       (3)使用泛型实例化的两个对象,如果它们的变量参数不一致,那么两者之间不能相互赋值 ,相当于两个不同类的对象;

                如 :    class   AAA<T>  {} ;

                                     AAA<String>  aaa = new AAA<String>  ;

                                     AAA<Integer> bbb = new AAA<Integer> ;

                                    aaa= bbb ; ---------------------------------错误

 

         (4)也可以不使用泛型,那么泛型代表的参数类型就在实际使用的使用,为Object类型

 

 二 枚举

 

      (1) 每一个定义的枚举类型,都是继承自java.lang.enum类 ,每个成员都是  public  , static , final

      (2) 每个成员都是 定义的枚举类型的一个实例

 

      使用枚举的简单例子

         a) enum 和 EnumSet

      

import java.util.EnumSet;

public class TestEnumSet {
     
 
 public static void showEnumSet(EnumSet<ColorEnum> enumSet){   //此方法遍历ColorEnum , 打印出来
    for(ColorEnum colorEnum : enumSet){
      System.out.println(colorEnum);
    }
 }
 
 public static void main(String[] args) {
  EnumSet<ColorEnum> enumSet = EnumSet.of(ColorEnum.RED ,ColorEnum.GREEN );
  showEnumSet(enumSet );
  showEnumSet(EnumSet.complementOf(enumSet)); 
 }
}

/**
 * 定义一个Enum
 * @author Administrator
 *
 */

enum ColorEnum{
 RED , GREEN , BLUE , BLACK
}

 

   b)  Enum 和 EnumMap

 

      

import java.util.EnumMap;
import java.util.Map;

public class TestEnumMap {
      public static void main(String[] args) {
   Map<Action , String> map = new EnumMap<Action , String> (Action.class) ;
   map.put(Action.TURN_LEFT, "向左转");
   map.put(Action.TURN_RIGHT, "向右转");
   map.put(Action.MIDDLE, "中间");
  
  for(Action action : Action.values()){
   System.out.println(map.get(action));
  }
 }
 
}

enum Action {
 
 TURN_LEFT , TURN_RIGHT , MIDDLE
 
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值