9 &与&&有什么区别?| 内部类 | 泛型

java泛型常问面试题总结 java里面的泛型是一种伪泛型,只存在于java源码里面,在编译期时编译器会去检测泛型的类型,当我们把java代码编译成字节码后,泛型会退化,或者说是被擦除了。java虚拟机不支持泛型,如果不擦除,虚拟机会认不出来。?extendsXXX//上限?superXXX//下限?... 阅读详情

1,题目&与&&(短路)有什么区别?

int a = 3;
		int b = 5;
		int c = a & b;
		System.out.println(c);



输出结果 1 

3的二进制值 011

5的二进制值101

一个&有两个功能,既可以按位运算,也可以进行逻辑运算。 按位运算位 001 所以输出1

int a = 1;
		int b = 2;
		if((a==2) && ((b = 3) == 5)){
			System.out.println("execute");
		}
		System.out.println(a);
		System.out.println(b);



输出

1

2

if里a不等于2 所以后面不会被执行,所以a和b还是原来的值。

		int a = 1;
		int b = 2;
		if((a==2) & ((b = 3) == 5)){
			System.out.println("execute");
		}
		System.out.println(a);
		System.out.println(b);

输出结果

1

3

当一个&时没有短路概念,后面的还会去执行,所以这会b被赋值为3。


2, 匿名内部类(anonymous inner class)

关于匿名内部类:该类一定是继承了某个父类或者是实现了某个接口。

public String get(Date date){
		return date.toLocaleString();
	}

	public static void main(String[] args) {
		Test test = new Test();
		String result = test.get(new Date(){
			public String toLocaleString(){
				return "love";
			}
		});
		System.out.println(result);
	}
打印出 love

关于内部类:

1 静态内部类(static inner class)

2 成员内部类  (member inner class)

3 局部内部类(local inner class)

4 匿名内部类(anonymous inner class)


3,泛型

	public void method1(List<Object> list){}
	
	public void method2(){
		method1(new ArrayList<Object>());
		method1(new ArrayList<String>());
		method1(new LinkedList<Integer>());
	}

是否可以编译通过?

sh-3.2# javac Test.java 

Test.java:17: 错误: 不兼容的类型: ArrayList<String>无法转换为List<Object>

method1(new ArrayList<String>());

        ^

Test.java:18: 错误: 不兼容的类型: LinkedList<Integer>无法转换为List<Object>

method1(new LinkedList<Integer>());

        ^

注: 某些消息已经过简化; 请使用 -Xdiags:verbose 重新编译以获得完整输出

2 个错误


不能编译通过。

关于泛型的继承:

ArrayList<Object> 继承了 List<Object>

ArrayList<String> 没有继承 List<Object>

	public void method3(List<? extends Object> list){
	}
	
	public void method4(){
		method3(new ArrayList<Object>());
		method3(new ArrayList<String>());
		method3(new LinkedList<Integer>());
	}

是否可以编译通过?

可以。

	public void method5(List<?> list){
		
	}
	
	public void method6(){
		method5(new ArrayList<Object>());
		method5(new ArrayList<String>());
		method5(new LinkedList<Integer>());
	}

是否可以编译通过?

可以。

说明:

List<? extends Object> list 等同于 List<?> list
传进来的类型,只要是继承Object的就没有问题。








【020】基于51单片机智能路灯系统Proteus仿真与实物设计 阅读详情

相关推荐

自动驾驶关键技术(一):时间敏感网络TSN

时间敏感网络TSN的基本概念、协议族介绍和开发流程。

3079

十大排序

妈妈再也不用担心我不会排序了

刚开始学编程的小白 1434

Unity插件——WebView内嵌网页/浏览器插件

一、相关插件: 1、Embedded Browser 插件(文件夹名ZFBrowserUnity) 2、UniWebView插件 3、UnityAndroidWebviewToTexture插件 4、3D WebView for Android插件 二、遇到的问题: 3D WebView显示问题 项目中使用3D WebView存在的问题 三、插件使用 Embedded Browser 加载页面的使用

青岚岁叶的博客 1万+

按位与(&)按位或(|)异或(^) 的运算方式

在计算机语言中,数字的表现形式其实是以二进制方式保存,比如 int a = 1 ; 并不是直接将1赋予a,由于1是整型,所以在内存中开辟了一块四个字节大小(一个8个比特位)的空间来存放,但存放的并不是1这个是数字,而是一个32个比特位的二进制数1,即00000000000000000000000000000001。 而这个 按位与(&amp;) 二进制位都为1才是1,否则为0; 例如: 9:00000000000000000000000000001001...

qq_42006663的博客 775

WebUI自动化测试框架搭建(python+pytest+selenium+allure)

将鼠标移动到要定位的元素上面>右键>点击“检查”>在元素代码上右键>复制>复制XPath。

m0_63729339的博客 1281

Vivado实战:如何用BUFGMUX_CTRL实现FPGA双时钟热切换(附时序约束模板)

本文详细介绍了如何使用Xilinx FPGA中的BUFGMUX_CTRL原语实现双时钟热切换的工业级解决方案。通过分析BUFGMUX_CTRL的核心机制、PCB布局约束和电源噪声抑制方法,提供Vivado实现全流程和时序约束模板,帮助工程师在工业自动化、车载电子等场景中提升系统可靠性。

weixin_29186249的博客 572

代码训练营——泛型实例

class Worker {}class Student {}//泛型前做法 class Tool { private Object obj; public void setObject(Object obj) { this.obj = obj; } public Object getObject() { return

Jungle_hello的博客 1202

【高级雷达感知与学习】 第十三章 可解释性与物理–感知融合(Physics-Informed ML)

本文提出了一种面向雷达感知的物理约束学习方法,将雷达物理先验(RCS、SNR、距离衰减)嵌入神经网络,解决纯数据驱动模型的样本效率低、泛化能力弱和决策不可信问题。通过三种融合范式(混合建模、物理正则化、PINNs)实现机理与数据协同建模,并设计了物理引导显著图解决雷达可解释性语义错位问题。实验表明,物理约束可提升40%样本效率,增强低信噪比场景鲁棒性。代码实现包含物理正则化损失、可解释性分析和消融实验,为雷达感知系统提供了可迁移的工程范本。

VectorShift的博客 185

spring源码编译,报错无法转换为Comparator<? super CAP#1> source.sort(new PropertyCompara

&gt; Task :spring-oxm:genJaxb [ant:javac] : warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds &gt; Task :spring-beans:compileGroovy FAILED D:\work_space\spring-framework\spring-beans\src\ma

weixin_42226741的博客 1230

SCSA,scCATCH,SciBet,SingleR 四种注释方法比较

以下是和四种细胞类型注释方法的详细对比,从。

qq_40256654的博客 1213

海康威视嵌入式最全面试题及参考答案(3万字长文)

主营业务:提供包括前端摄像头、后端存储设备、显示控制设备等在内的全方位视频监控解决方案。市场地位:在全球范围内享有较高的市场份额,在安防领域具有较强的竞争力。技术创新:持续投入研发,拥有多项核心技术和专利,特别是在视频处理算法、人工智能等方面取得了显著成果。社会责任:积极参与公共安全项目,为智慧城市、交通管理等领域提供技术支持和服务。国际业务:除了国内市场外,海康威视的产品和服务也销往全球多个国家和地区。面向对象编程。

大模型大数据攻城狮的专栏 1763

蓝桥杯算法总结

备战蓝桥杯学习与准备过程中整理的感觉有用的数据结构与算法

qq_49735865的博客 9140

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C# 泛型详解(泛型类,方法,接口,委托,约束,反射 )

泛型(Generic),是将不确定的类型预先定义下来的一种C#高级语法,我们在使用一个类,接口或者方法前,不知道用户将来传什么类型,或者我们写的类,接口或方法相同的代码可以服务不同的类型,就可以定义为泛型。这会大大简化我们的代码结构,同时让后期维护变得容易。...............

熊思雨的博客 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

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

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

java 泛型类 泛型方法 泛型变量 静态方法泛型 区别汇总

package xxx.xxxx.demo; public class FanXingZongJie { public static void main(String[] args) { F1 f1 = new F1(); f1.fun1("fun1"); F2 f2 = new F2(); f2.fun2("fun2"); System.out.println(f2.fu

茗茗 8107

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

&与&&有什么区别?

 一、简要说明按位与:a&b是把a和b都转换成二进制数然后再进行与的运算;逻辑与:a&&b就是当且仅当两个操作数均为 true时,其结果才为 true;只要有一个为零,a&&b就为零。 例如: a&b  9&8 1001 1000 结果是1000 a&&b  9&&8 结果是1&对每一个都判断;&&只要前面是false就输出false,而不继续判断后面了  二、详细解释

木木 19万+

Java泛型初始化ArrayList<String>()和ArrayList<>()的区别

本文对比了Java中两种泛型集合初始化方式:显式泛型初始化(ArrayList<String>())和钻石操作符初始化(ArrayList<>())。显式方式适用于Java 5+且兼容复杂泛型场景,而钻石操作符(Java 7+)更简洁且类型安全。两种方式运行时无差异,但钻石操作符在匿名内部类(Java 9前)和变量分离初始化时有局限。最佳实践建议优先使用钻石操作符,仅在旧代码兼容或复杂泛型时采用显式声明。

xiaodaidai的博客 1026

Java中&和&&的区别

java中&amp;和&amp;&amp;的区别,&amp;和&amp;&amp;虽然都是逻辑运算符, 都是判断两边为真,则语句成立,但是在运行的时候,还是有差别的,下面举例来说明。 第一种 public class Test2{ public static void main(String[] args){ int i=3; ...

菜不是原罪 2032

关于Java泛型的面试题

这里写自定义目录标题1. Java中的泛型是什么 ? 使用泛型的好处是什么?2. Java的泛型是如何工作的 ? 什么是类型擦除 ?3. 什么是泛型中的限定通配符和非限定通配符 ?4. List&amp;lt;? extends T&amp;gt;和List &amp;lt;? super T&amp;gt;之间有什么区别 ?5. 如何编写一个泛型方法,让它能接受泛型参数并返回泛型类型?6. Java中如何使用泛型编写带有参数的...

Yxueny的博客 5320

泛型

1、泛型的定义及为什么要使用泛型 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。 引入泛型的原因:可以增强代码的复用性,当然这种限定死类型的方式也会使得代码的安全性和可读性更高。 2、定义一个简单的泛型类 泛型类型和普通类型的区别主要在于:类名之后多了个,并且实例域类型可以不是具体的类型而是不确定的T...

littleAusna的博客 2868

泛型(泛型擦除)【java基础----泛型】

泛型(泛型擦除)【java基础----泛型】

伟庭的博客 2063

Java知识点:泛型、类加载器、内部类、可变参数

Java知识点详解

游手好闲 1191

Java泛型遇到多态与Java泛型边界

说明: 今天,继续学姐java编程思想-泛型这一章的时候,对于通配符的理解不够明白,于是又网上查了些资料,发现一篇写的很好的文章,在此记录学习一下

yx19861211的博客 1812

java 知识点 9(枚举、ajax、json、hashset、内部类、泛型、extends、反射)

文章目录写在前面1、枚举2、ajax、json3、js闭包4、java中的类4.1、java内部类5、js中的replaceWith()6、JAVA HashMap 和 HashSet6.1、 HashSet7、泛型7.1、泛型类7.2、泛型方法7.3、泛型接口8、上界和下届8.1、上界extends8.2、下届super 写在前面 本片学习笔记主要补充java的一些基础知识 1、枚举 简单的说,枚举就是所有值能列举出来的类型,比如性别、血型、星座等。 枚举本质上就是一个类。 用java定义一个枚举类型:

这里的分享,都是干货 387

Dart语言详解-9 泛型

文章目录1 泛型-泛型函数2 泛型-构造函数泛型3 泛型-泛型限制4 泛型-与java区别 先看一个List和Map的例子: void main(){ //使用泛型,很多的容器对象,在创建对象时都可以定义泛型类型,跟java一样 var list = List&lt;String&gt;(); list.add('aaa'); list.add('bbb'); list.ad...

hongxue8888的博客 679

Java泛型面试必问15题,深入详解泛型【附解答】

Java 泛型(Generics)是 JDK 5 中引入的一个新特性。使用泛型参数,可以增强代码的可读性以及稳定性。编译器可以对泛型参数进行检测,并且通过泛型参数可以指定传入的对象类型。比如这行代码就指明了该ArrayList对象只能传入Persion对象,如果传入其他类型的对象就会报错。可以用于构建泛型集合。原生List返回类型是Object,需要手动转换类型才能使用,使用泛型后编译器自动转换。

qq_45195447的博客 1061

C#泛型

文章目录泛型1、没有泛型的年代2、泛型的出现3、泛型的调用4、泛型是如何工作的呢?5、 泛型类6、泛型接口7、泛型委托8、普通类可以继承泛型类9、泛型约束10、为什么要用泛型约束而不用基类约束呢?11、逆变 斜边(Out In)当然,我们想实现的话也可以实现,解决办法就是要把类型转换一下 这是泛型发布之后最开始时候的坑下面进入正题,讲到了我们的 out 和 In协变 逆变一起来 泛型 ​ 对于泛...

qq_43542583的博客 751
上一篇: 8 ArrayList,LinkedList以及Vector的区别?
下一篇: 10 多态 | 数组内容比较 | 单态模式
hackq
博客等级 码龄20年 19粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值