java10 - 泛型与枚举

java10泛型与枚举

泛型和枚举都是JDK1.5版本之后加入的新特性,泛型将程序代码的类型检查提前到了编译期间进行,枚举类型增强了程序代码的健壮性。

1.泛型类

class VariableType<T> { // 此处可以随便写标识符号,T是type的简称
    private T var; // var的类型由T指定,即:由外部指定
    public T getVar() { // 返回值的类型由外部决定 ,泛型方法
        return var;
    }
    public void setVar(T var) { // 设置的类型也由外部决定
        this.var = var;
    }
};

public static void main(String args[]) {
    VariableType <String> p = new VariableType <String>(); // 里面的var类型为String类型
    p.setVar("it"); // 设置字符串
    System.out.println(p.getVar().length()); // 取得字符串的长度
}

2.泛型方法

// T 为参数类型
public static void main(String[] args) {
    variableType(1);
    variableType(1.0);
}
    
public static <T> void variableType(T a) {
    System.out.println(a.getClass());
}

3.泛型接口的定义和使用

package com.rimi.Test;

import java.util.Date;

interface Show<T,U>{  
    void show(T t,U u);  
}  

class ShowTest implements Show<String,Date>{  
    @Override  
    public void show(String str,Date date) {  
        System.out.println(str);  
        System.out.println(date);  
    }  
}  

public class TestDemo {
    public static void main(String[] args) {
        ShowTest showTest=new ShowTest();  
        showTest.show("Hello",new Date());      
    }
}

4.比较任意类型的两个数的大小

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

public static <T extends Comparable> T get(T t1, T t2) { // 添加类型限定
    if (t1.compareTo(t2) >= 0)
    {
        return t2;
    }
    return t1;
}

5.枚举

// 枚举定义
public enum Color {
     RED, GREEN, BLANK, YELLOW 
}
// 枚举使用
public static void main(String[] args) { 
    System.out.println( isRed( Color.BLANK ) ) ;  //结果: false
    System.out.println( isRed( Color.RED ) ) ;    //结果: true
 
}
// 枚举值的使用
static boolean isRed( Color color ){
    if ( Color.RED.equals( color )) {
        return true ;
    }
    return false ;
}
public enum Color {
    RED, GREEN, BLANK, YELLOW
}

public static void main(String[] args) {
    showColor(Color.RED);
}

static void showColor(Color color) {
    switch (color) {
    case BLANK:
        System.out.println(color);
        break;
    case RED:
        System.out.println(color);
        break;
    default:
        System.out.println(color);
        break;
    }
}
//自定义函数
public enum Color {
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
    private String name;
    private int index;
    private Color(String name, int index) {
        this.name = name;
        this.index = index;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getIndex() {
        return index;
    }
    public void setIndex(int index) {
        this.index = index;
    }
}


public static void main(String[] args) {
    // 输出某一枚举的值
    System.out.println(Color.RED.getName());
    System.out.println(Color.RED.getIndex());
    // 遍历所有的枚举
    for (Color color : Color.values()) {
        System.out.println(color + "  name: " + color.getName() + "  index: " + color.getIndex());
    }
}

转载于:https://www.cnblogs.com/markbin/p/6649433.html

【32】OpenCV——图像含义关系?RGGB , BGGR , GRBG , GBRG呢?raw8,raw10,raw12,raw14呢? YUV422; RAW16呢?YCbYCr/RG_GB; ‌如前所述,定义原始数据的位深精度。‌* ‌一种压缩色彩编码方式,通过色度抽样(亮度Y全分辨率,色度U/V半分辨率)减少数据量,常用于视频传输。‌* ‌可能指每个像素分量占16位存储(如高位填充的RAW10/12/14),或未明确量化的高精度原始数据。‌ ‌分类‌核心定义‌关联性及典型应用传感器原始色彩排列(RGGB/BGGR等)决定RAW数据的色彩分布规则RAW位深每个分量的数据精度(8/10/12/14位)影响动态范围和存储空间‌YUV422。 阅读详情

相关推荐

STM32F405实战:手把手教你实现永磁同步电机无感FOC控制(附完整工程文件)

本文详细介绍了基于STM32F405微控制器实现永磁同步电机无感FOC控制的完整实战方案。文章从硬件搭建、CubeMX配置入手,逐步讲解了FOC核心算法、SVPWM调制,并重点阐述了如何结合HFI高频方波注入与滑模观测器(SMO)实现全速域无感控制。内容涵盖算法原理、代码实现、参数整定及调试技巧,并附有完整工程文件,为开发者提供从理论到实践的全面指导。

sun99的博客 267

Java学习笔记10 泛型 枚举

泛型:类型参数化。(广泛不确定的数据类型) 学习要求:会写经典泛型,看得懂代码中的泛型。 泛型的标识: T Type任意类型 E Element K Key V Value <?>表示不确定的泛型,是类型实参,?通配符来表示未知类型。 泛型的应用:泛型接口、泛型类、泛型方法 泛型接口:interface 接口名 <T> { ... } 泛型类:class 类名 <T> { ... } 泛型方法:publi...

gyct123的博客 362

手把手教你用VMware虚拟机搭建PCAN开发环境:从Ubuntu安装到CAN通讯实战

本文详细指导如何在VMware虚拟机中搭建PCAN开发环境,涵盖从Ubuntu系统安装、VMware精细配置、PCAN-USB设备直通,到Linux驱动编译、can-utils工具集使用及完整CAN通讯测试的全过程。通过实战步骤与故障排查技巧,帮助开发者快速构建稳定高效的CAN总线开发与测试沙盒,特别适合车载诊断与嵌入式通讯应用。

weixin_29216353的博客 225

Java学习笔记(10)——枚举和注解和泛型

Java学习笔记(10)——枚举和注解 1 枚举 1.1. 枚举类的说明: 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举类 如果枚举类中只一个对象,则可以作为单例模式的实现方式。 1.2 如何自定义枚举类?步骤: //自定义枚举类 class Season{ //1.声明Season对象的属性:private final修饰 private final String seasonName; private final Str

Chris683的博客 466

达梦数据守护集群监视器详解与应用指南

主库/备库:承担读写和只读服务的数据节点Redo 日志:记录数据库变更的核心日志Redo 日志传输:主备库间的日志同步机制Redo 日志重演:备库重做日志的应用过程守护进程 (dmwatcher):实例级别的监控和管理组件监视器 (dmmonitor):集群级别的监控和管理工具监视器作为数据守护系统的重要组成部分,提供了集群监控、故障管理和状态确认等关键功能。达梦数据守护集群监视器是维护数据库高可用性的关键工具。

huanhuanzhou blog 1058

使用mne包来对脑电数据进行预处理(一)

MNE(MNE-Python)是一个用于处理脑电(EEG)、磁图(MEG)和其他神经科学数据的Python库。它提供了丰富的功能,包括数据加载、预处理、分析和可视化,旨在帮助研究人员和神经科学家更轻松地进行脑电数据的处理和分析。在本文中,我们使用mne来对不同的格式的脑电数据集进行数据读取。

m0_71596228的博客 4305

JAVA 版本特性

Java 5,6,7,8,9,10新特性吐血总结 Java基础 浏览数:136 2019-2-23 作者:lkd_whh 转载请注明出处 java5 泛型 (Generics) List<Integer> list=new ArrayList<Integer>(); 增强循环(Enhanced for Loop) ...

qq_30436011的博客 163

非标准包 game.rgss3a 的打开方法 | 2023 年实测

生活笔记

陌雨’的博客 1万+

对象入参指定泛型类型_静态导入、可变参数、枚举、内省、泛型

Eclipse的使用 (myeclipse 10)工作空间(workspace)、工程(project)在eclipse下Java程序的编写和运行,及java运行环境的配置。快捷键的配置,常用快捷键:内容提示:Alt + /快速修复:Ctrl + 1导包:Ctrl + shift + O格式化代码块:ctrl + shift + F向前向后:Alt + 方向键添加注释 Ctrl+Shift+/除去...

weixin_39843151的博客 274

信息隐藏 数字图像空域隐写与分析技术的实现

【代码】信息隐藏 数字图像空域隐写与分析技术的实现。

Yungoal的博客 470

如何在 Ubuntu 22.04 上安装和配置 VNC 服务器?

VNC(Virtual Network Computing)是一种图形桌面共享系统,通过网络允许用户控制另一台计算机的桌面环境。无论你是系统管理员还是开发人员,VNC 都可以在远程访问桌面环境时提供极大的便利。在安装和配置 VNC 服务器之前,我们需要确保系统是最新的,并安装一些基本工具。这些命令将更新你的软件包列表并升级所有已安装的软件包,以确保你拥有最新的安全修复和功能更新。

网络技术联盟站 4003

Java语法变化

Java5(2004): 枚举、泛型、注解、封箱(解箱)… Java6(2006): @Override接口 Java7(2011): Diamond语法、多Catch、Try… Java8(2014): Lambda语法、可重复注解、类型注解… Java9(2017): 模块化、接口私有方法… Java10(2018): 局部变量类型推断 ...

noscallion的博客 264

SAP SEGW 事物码里的 Function Import

开放数据协议(OData)包括标准的 CRUD (创建、检索、更新和删除)操作,这些操作映射到 HTTP 方法的 POST、GET、PUT/MERGE 和 Delete 几类。此外,OData还支持进一步的服务操作:,这些操作可以由HTTP方法GET或POST调用,用于处理不能映射到标准 CRUD 操作的任何内容。通过在数据模型中创建 ,可以在 service Builder 中实现此类额外的服务操作。例如,您可以为以下自定义操作创建函数导入:Work Item confirmation检查航班的可用性虽然

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 997

Java 5,6,7,8,9,10新特性吐血总结

  Java 5,6,7,8,9,10新特性吐血总结   java5   1. 泛型 (Generics)   Listlist=new ArrayList();   2. 增强循环(Enhanced for Loop)   3. int[] array = {1, 2, 3, 4, 5}; for (int i : array) {   4. System.out.println(i...

qianfeng_dashuju的博客 800

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JDK 5 ~ 10 新特性倾情整理!

JDK 5 ~ 10 新特性倾情整理! 最近连 JDK11都在准备发布的路上了,大家都整明白了吗?也许现在大部分人还在用6-8,8的新特性都没用熟,9刚出不久,10-11就不用说了。 为了大家对JDK有一个全面的了解,下面我为大家整理了JDK5~10的所有关键新特性! JDK5新特性 自动装箱与拆箱 枚举 静态导入 可...

aocheqing0591的博客 125

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java中的10颗语法糖

语法糖(Syntactic Sugar):也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用。通常来说,使用语法糖能够增加程序的可读性,减少程序代码出错的机会。 Java中的语法糖包括但不限于以下10颗:泛型与类型擦除、自动装箱和拆箱、遍历循环、变长参数、 条件编译、内部类、枚举类、断言语句、对枚举和字符串的switch支持、在try语句中定义和关...

AI一人公司实践中,AI全栈程序员,编程-产品-营销 404

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

JAVA语法变化在Spring中的体现

JAVA5 枚举、泛型、注解、封箱、解箱 JAVA6 @Override JAVA7 Diamond语法:集合泛型可写可不写 多Catch:代码遇到多个异常,可用一句话直接捕获 Try wiht resource:自动资源管理,底层自动生成close方法调用 JAVA8 Lambda语法、可重复注解:一个类或者一个方法上,可标注多个注解、类型注解... JAVA9 模块化、接口私有化 JAVA10 局部变量类型推断 ...

搓搓那年时光静好 384

10个TypeScript Generator高级技巧:让你的Java类型定义完美映射TypeScript

TypeScript Generator是一款强大的工具,能够从Java代码生成TypeScript类型定义和REST服务客户端,极大地简化了前后端开发流程。本文将分享10个高级技巧,帮助你充分利用TypeScript Generator,实现Java类型到TypeScript的完美映射。 ## 1. 掌握自定义类型映射 TypeScript Generator提供了灵活的类型映射机制,允许你

gitblog_00183的博客 823

jdk5-jdk10各个版本的新特性

jdk5-jdk10各个版本的新特性JDK1.5新特性:1.自动装箱与拆箱:2.枚举3.静态导入,如:import staticjava.lang.System.out4.可变参数(Varargs)5.内省(Introspector),主要用于操作JavaBean中的属性,通过getXxx/setXxx。一般的做法是通过类Introspector来获取某个对象的BeanInfo信息,然后通过Bea...

weixin_41679015的博客 249

Java枚举增强,提供更强的类型支持

在最新的JEP上显示,Java枚举将增强泛型支持,并能将方法添加到单个项目上去。这两个功能可以通过一次更改进行交付,原因是它们捆绑在了一起。更改仅仅会影响到Java编译器,因此不需要运行时更改。虽然没有目标版本,但可能会在Java 10中呈现更改。\u0026#xD;\n\u0026#xD;\n一开始这个更改没有得到很大的肯定,比如杰出的Java Champions Joshua Bloch就其实...

啊啊啊啊2 451

Java 泛型&类库&枚举&反射机制 要点

本文总结了Java知识点中关于泛型、Java类库、枚举、Java反射机制的要点内容,想复习该方面知识点的可以进入一览。

亮点菌 1692

Java 枚举与泛型

Java 枚举 之前写过的文档:https://blog.youkuaiyun.com/Roobert_Chao/article/details/78637972

RobertChao的博客 5121

49天精通Java(Day 14):泛型与枚举

🏆本文收录于专栏,专业攻坚指数级提升持续更新中,up!up!up!!

**My Coding Family** 1367

第八章 泛型与枚举

文章目录1、泛型1.1 泛型介绍1.2 泛型优点1.3 泛型规则1.4 泛型的使用(1)泛型类(2)泛型方法(3)泛型接口1.5 通配符(1)通配符概述(2)通配符特点(3)子类型(带下界)通配符 extend(4)父类型(带上界)通配符 super(5)实例(6)通配符总结2、枚举 1、泛型 1.1 泛型介绍 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译...

Stay Hungry Stay Foolish 求知若饥 虚心若愚 3836
上一篇: java9 - 异常处理
下一篇: java11 - GUI图形用户界面编程
anna7513
博客等级 码龄11年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值