泛型PS

1.使用泛型的时候,如果2边都使用了泛型,则2边必须一样
//  ArrayList<Object> ao = new ArrayList<String>();
//  //compile error
//  ArrayList<String> as = new ArrayList<Object>();
//  //compile error
  
  ArrayList al = new ArrayList<String>();//向后兼容
  
  ArrayList<Integer> ai = new ArrayList();//可以调用,给不使用泛型的人使用

 

2.泛型是提供给javac编译器使用的

它用于限定集合的输入类型,让编译器在源代码级别上,即挡住向集合插入非法数据。

但编译器编译完带有泛型的java程序后,生成的class文件中将不再带有泛型信息,以此使程序运行效率不受到影响。

这个过程为擦除
.java----------编译(排除插入非法数据)----------(排除后进行擦除)------------.class

 

 

3.ArrayList<E> 读作ArrayList typeof E,是泛型类型
ArrayList<Integer> 是参数化的类型 ,java中用ParameterizedType类来表示,在后面使用反射泛型的时候使用

 

 

4.类上声明的泛型只在非static成员中有效
ps:静态方法不能使用类定义的泛型,而应单独定义泛型

class A<T>{

 

void a(T  a){....} ;

 

static <T> void b(T a){......};

 

// static void c(T a){.....}; compile error

 

}

 

 

 

 

 

 

 

 

 

 

 

3D Slicer的学习(二) 图像的分割 先对不同层级标注,然后点击Fill between slices -> Initialize -> Apply拖动层级颜色区域就会变成连续自适应的动态变化区域。如图,点击Level tracing,在图像上放置鼠标,会显示可能想要选中区域的轮廓,点击鼠标右键会将其显示为蓝色。然后点击Grow from seeds -> Initialize -> Apply,显示3D之后会自动扩展到其他位置的相同部位,从而展示整个部位。如图为copy之后,将黄色区域的颜色复制到原本的绿色区域。 阅读详情

相关推荐

Java02:自定义类、方法

对自定义类、方法的详细解释

小贺想改变 1631

JAVA通配符T,E,K,V区别,T以及的区别

JAVA通配符T,E,K,V区别,T以及Class,Class<?>的区别 https://www.jianshu.com/p/95f349258afb

weixin_44186547的博客 1274

华为OD机试双机位C卷:采购订单 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 采购订单,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,并提供在线OJ模拟做题。华为OD机试真题【采购订单】

qq_45776114的博客 3488

jailbreak-11有效载荷设计:EthernetPayload结构体使用指南

jailbreak-11是一款针对PS4 11.00及更低版本的实验性越狱工具,其核心功能之一是通过EthernetPayload结构体实现PPPoE数据包的有效载荷处理。本文将详细介绍这一结构体的设计理念、核心功能及实际应用场景,帮助开发者快速掌握其使用方法。 ## 什么是EthernetPayload结构体? 在jailbreak-11项目中,EthernetPayload是位于[

gitblog_01407的博客 325

关于

1.一个栗子 List arrayList = new ArrayList(); arrayList.add("aaaa"); arrayList.add(100); for(int i = 0; i< arrayList.size();i++){ String item = (String)arrayList.get(i); Log.d("测试","item = " + item); } 程序的运行结果会以崩溃结束: java.lang.ClassCastExce.

atarik@163.com 375

unity ps4 下碰到的坑

以前公司用unity发ps4用IL2CPP发布,自己写的网络会有错误。 昨天用mono2.x发布,会可能报错。(unity 5.5.1p2) 报错信息 16:04:11 * Assertion at C:\buildslave\mono-consoles\build\mono\mono\metadata\reflection.c:6951, condition `idx != -1' n

muqian328的博客 1523

java pecs_Java PECS

在stackoverflow上看到两篇关于java PECS 的问答:PECSRemember PECS:"Producer Extends,Consumer Super""Producer Extends" - If you need a List to produce T values (you want to read Ts from the list), you need to dec...

weixin_39576270的博客 84

C#详解

什么是的语法为什么要用的优点是什么?约束是什么,有什么作用 什么是 就是将类做参数的技术! 详细一点来说就是: 就是就是使用类参数定义的数据类或方法。 平常使用List的时候,我们就在不知不觉中已经使用了的语法 的语法有俩种. 第一种是在类名后面加上 class My<T> { ArrayList arrList = new ArrayList();// public void Add(T

qq_40629631的博客 5999

Java深入

在刚刚,我们仅仅是使用,那我能不能自己写一个类似于ArrayList带有的类让别人去用呢,当然这必须是可以的。可以写在类的后面,也可以写在方法上,还可以写在接口后。如果将写在类的后面,那么这个类叫做类在类名后面定义,创建该类对象的时候,确定类如果将写在方法的后面,那么这个类叫做方法在修饰符后面定义方法,调用该方法的时候,确定类如果将写在接口的后面,那么这个类叫做接口在接口名后面定义,有两种用法:① 实现类确定类;② 实现类延续

qq_39921135的博客 1065

Rust 详解

Rust详解:强大灵活的抽象工具 Rust允许编写类无关的通用代码,提升复用性和安全性。核心特性包括:函数/结构体/枚举,通过<T>声明类参数;trait约束使用where子句限制类行为;性能优化通过编译时单态化实现零开销。const支持基于常量值的特化,适用于数组等场景。高级用法涵盖关联类和生命周期参数。最佳实践建议合理使用trait约束,避免过度化。文中通过算术运算和Arduino的map函数实现展示了的实际应用,体现了Rust在编译期保障类安全的同时提供高

本博客分享软硬件一体化开发实战。硬件涵盖 PCB 设计、STM32 等 MCU 底层开发;软件包含 C++、Rust,Qt/QML、PyQt、Slint、TouchGFX、LVGL 各类 GUI 框架。方便软硬件开发者查阅学习。欢迎关注! 1144

掌握java

因为是把自己的东西塞给输入参数, 而想要能塞进去,必须保证自己这个T,是输入参数的子类,反过来说,输入参数必须是T的父类,所以用super。这个list可以调用A a = list.get(), 但是不能list.add(new Parent())PS: 注意,不是说不能调用get或add方法, 而是调用get或add时,不能使用A这个对象去操作。因为编译器检查后,认为 List<Integer>和List<Number>不是一个东西!test是static方法, 因此无法感知A<T>实例里的T。

s44359487yad的博客 770

获取实际类

获取实际类引言的问题完整代码知识储备clazz.getTypeParameters()clazz.getGenericSuperclass()clazz.getGenericInterfaces()superClazz.isAssignableFrom(SubClazz)代码分析 【引言】 (灵感来自BaseQuickAdapter源码中的某个方法) 众所周知,由于擦除机制,在运...

Eshel的博客 2202

Java的继承和通配符

需求:定义一个方法,形参是一个集合,但是集合中的数据类不确定。??> list) {有同学就想了:既然集合里面的数据类不确定,那就可以利用我们刚刚学的方法解决,告诉你,完全是可以的。// 需要先定义,再使用:即先在修饰符后面定义 <E>,才能在形参中使用 E此时在测试类中添加都没有问题但是这种写法它会有一个小小的弊端:此时他可以接受任意的数据类,例如Ye Fu Zi,甚至你定义的类不在继承结构中,例如Student,它也是可以传递过去的。

qq_39921135的博客 1649

Java编程

Java应用是java核心基础之一,从java5开始引入概念。如果你曾经使用过java中的collection相关的类,那么就算你已经接触过了。在java的Collection中使用是一件很简单的事情,可还具有许多你想不到的作用。在深入了解之前,首先来了解一下的一些基本概念与原理。 ———————————————— 版权声明:本文为CSDN博主「陈九龙的博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 ......

琅枫的博客 1548

Java最全归纳

上面通过一个简单的对比示例展示了如何用以及使用的好处,而上面使用的实际上是一种指定了具体类。直接指定具体的方式是最简单的,我们大部分场景下也都是使用具体类的方式,但是还有其他非具体类的定义方式,接下来我们继续介绍一下的非具体类定义方式。可以定义在类上,也可以定义在方法上。}}1、E表示元素类2、K和V表示关键字与值的类(比如map里面的key和value)3、T则表示其他类。...

Cr1556648487的博客 4972

【后端-Java进阶 - 如何取出参数

在JDK5引入了特性之后,她迅速地成为Java编程中不可或缺的元素。然而,就跟乍一看似乎非常容易一样,许多开发者也非常容易就迷失在这项特性里。 多数Java开发者都会注意到Java编译器的类擦除实现方式,Type Erasure会导致关于某个Class的所有信息都会在源代码编译时消失掉。在一个Java应用中,可以认为所有的实现类,都共享同一个基础类(注意与继承区分开来)。这是为了兼容JDK5之前的所有JDK版本,就是人们经常说的向后兼容性。 向后兼容性 译者注:原文较为琐碎,大致意思是。在

Ric的博客 1699

java参数传入_Java中的编程

引言什么是的意思是 类参数化。到底什么是类参数化呢?通过这一节内容,我们希望大家能够彻底弄懂什么是,以及如何在开发中使用Java应用是java核心基础之一,从java5开始引入概念。如果你曾经使用过java中的collection相关的类,那么就算你已经接触过了。在java的Collection中使用是一件很简单的事情,可还具有许多你想不到的作用。在深入...

weixin_36239323的博客 1887

CSharp(C#)语言_高级篇(集合)

; 什么是; C#中的类; 声明类; 创建构造类; 创建变量和实例; 类参数的约束; 方法; 扩展方法和类; 结构; 委托; 接口

视觉软件 3721

TypeScript中函数、类、接口,约束,一文读懂

最近在学TypeScript,然后整理了一下关于TypeScript中的一些笔记。TypeScript中函数、类、接口,约束,一文读懂。

爱就码上行动,奔赴热爱,追光而行。愿你带着从容与热爱,拥抱每一天的惊喜与美好 1550

java方法定义区别,java中的java定义方法

java中的java定义方法本文将详细介绍java的用法以及的原理java是在J2 SE1.5中引入的一个特性 可以将类抽象为一个参数 从而简化代码和实现类安全如何使用可以用于方法 类和接口通过尖括号加标识符的方式声明class GenericityClass{T t;publicGenericityClass(T t){this.t =t;}publicT...

weixin_39660922的博客 789

基于单片机的家用可燃气体报警器系统设计与实现(设计报告+源代码+proteus仿真+PCB+开题报告+中期报告).zip

基于单片机的家用可燃气体报警器系统设计与实现(设计报告+源代码+proteus仿真+PCB+开题报告+中期报告).zip

上一篇: java中PS的几点
下一篇: Could not execute JDBC batch update异常的解决办法
java_it90
博客等级 码龄12年 1粉丝 56原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值