首页 > 编程语言 >Java面试题(企业真题)

Java面试题(企业真题)

时间:2024-07-19 19:58:46浏览次数:18  
标签:... 面试题 Java 真题 List 接口 类型 泛型

01.泛型的理解

  • 泛型是Java 5引入的一种特性,它允许程序员在定义类、接口或方法时指定一个或多个类型参数,从而可以在运行时处理各种不同的数据类型,同时保持类型安全。
  • 泛型提供了编译时类型检查,消除了强制类型转换的需要,减少了运行时ClassCastException异常的可能性。

02.泛型在集合、比较器中的使用

  • 集合:如List<T>Set<T>Map<K,V>,其中TKV是类型参数,代表集合中元素或键值对的类型。
  • 比较器:Comparator<T>接口用于比较两个对象的顺序,其中T是被比较的对象的类型。

03.自定义泛型类/泛型接口、泛型方法

  • 泛型类:如class MyGenericClass<T> {...}
  • 泛型接口:如interface MyGenericInterface<T> {...}
  • 泛型方法:可以在非泛型类中定义,如<T> T myGenericMethod(T t) {...}

04.泛型在继承上的体现

  • 类型参数可以被子类或实现类继承,如class MySubClass extends MyGenericClass<String> {...}

05.通配符的使用

  • 通配符?用于表示未知的类型,如List<?>表示可以接受任何类型的列表。

06.数组存储数据方面点的特点和弊端

  • 特点:数组有固定大小,可以存储同一类型的数据。
  • 弊端:一旦声明,大小不可改变;类型固定,无法在运行时动态改变类型。

07.集合框架概述

  • Java集合框架由java.util包中的类和接口组成,包括CollectionMapListSet等。

08.Collection的常用方法

  • add()remove()contains()size()isEmpty()clear()等。

09.Collection的子接口

  • List:有序,可重复。
  • Set:无序,不重复。
  • Queue:先进先出(FIFO)。
  • Deque:双端队列。

10.Map接口

  • 存储键值对,键唯一。

11.Collections工具类的使用

  • 提供了静态方法,如sort()max()min()等,用于操作集合。

二、真题

01.Java中的泛型是什么?有什么好处和优点?JDK不同版本的泛型有什么区别?

  • 泛型是一种类型参数化的机制,提供类型安全和减少代码冗余。
  • 好处和优点&#x

标签:...,面试题,Java,真题,List,接口,类型,泛型
From: https://blog.csdn.net/m0_74972727/article/details/140488795

相关文章

  • JAVA小白学习日记Day6
    1.List集合:把具有相同属性的东西放在一起,也可以是容器,把有关的东西都放进去。List:List是位于java.util下的一个接口,有序集合(也称为序列)。此界面的用户可以精确控制每个元素在列表中的插入位置。用户可以通过整数索引(列表中的位置)访问元素,并在列表中搜索元素。之前学过的容器......
  • [Java基础]Class对象
    Class类[class对象通常存放在方法区]在程序运行期间,Java运行时系统始终为所有对象维护一个运行时类型标识。这个信息会跟踪每个对象所属的类。虚拟机利用运行时类型信息选择要执行的正确的方法。不过,可以使用一个特殊的Java类访问这些信息。保存这些信息的类名为Class,这个名字......
  • java基础学习:序列化之 - kryo
    文章目录一、介绍二、特点三、使用方式四、应用场景五、注意事项一、介绍Kryo是一个快速且高效的Java序列化框架,它主要用于将Java对象转换为字节流以便存储或传输,同时能够将字节流反序列化为原始Java对象。Kryo相比Java自带的序列化机制具有更高的性能和更小的序列化......
  • java基础学习:序列化之 - ObjectMapper
    文章目录一、介绍二、主要功能三、使用方法官网:一、介绍ObjectMapper是Jackson库中的一个核心类,用于在Java对象和JSON数据之间进行转换。Jackson是一个流行的Java库,用于处理JSON数据。它提供了灵活的方式来序列化和反序列化Java对象,即将Java对象转换......
  • 对JAVA的HashMap的深入理解
    今天我们来从源码层面分析JAVA的HashMap底层实现原理,我们还是先从HashMap的构造方法来分析。我们发现HashMap有四个构造方法,首先还是来分析它的无参构造方法,源码如下:这个方法比较简单定义了一个数据成员loadFactor的值,设置为0.75。我们再来看第二个方法HashMap(int)发......
  • 使用 JavaScript 检测大写锁定键(Detect Caps Lock with JavaScript)(转)
    原文地址:DetectCapsLockwithJavaScript-使用JavaScript检测大写锁定ByDavidWalshonFebruary6,2024作者:大卫·沃尔什,2024年2月6日Anyoneiscapableofhavingtheircapslockkeyonatanygiventimewithoutrealizingso.Userscaneasilyspotunwan......
  • JavaScript 基础知识 Day01
    一、计算机基础知识1、计算机数据存储单位位(Bit):1bit可以保存一个0或者1(最小的存储单位)字节(Byte):1B=8b千字节(KB):1KB=1024B兆字节(MB):1MB=1024KB吉字节(GB):1GB=1024MB太字节(TB):1TB=1024GB2、关于JavaScript 它是在1952年2月由网景开......
  • 深入理解Java中的泛型与类型安全
    深入理解Java中的泛型与类型安全大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨Java中的泛型和类型安全。泛型是Java的一个强大特性,它使得代码更加通用、灵活,同时保持了类型安全。1.泛型概述1.1什么是泛型泛型允许我们在定义类、......
  • Java中的内存管理与调优策略
    Java中的内存管理与调优策略大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨Java中的内存管理与调优策略。Java的内存管理涉及多个方面,包括垃圾回收、堆和非堆内存的配置,以及性能优化。通过这些策略,我们可以显著提高应用程序的性能和稳......
  • 使用Java和RabbitMQ构建消息队列系统
    使用Java和RabbitMQ构建消息队列系统大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨如何使用Java和RabbitMQ构建一个高效的消息队列系统。RabbitMQ是一个开源的消息中间件,支持多种消息协议,能够帮助我们实现异步处理和解耦。1.Rabbit......