首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最新Java面试题 每一题都是经典

JAVA的自动拆箱装箱 自动装箱就是基本数据类型自动的转换为对应的对象包装类型; 拆箱就是将对象包装类型转换为基本数据类型。...什么是自动类型强,什么是强制类型转换 自动类型强  范围小的数据类型自动转为为范围大的数据类型 强制类型转换,范围大的数据类型需要强制转换为范围小的数据类型 一维数组的三种创建方式 数据类型[] 数组名...final关键字可以修饰什么,被修饰后的特点 final关键字可以修饰 ,成员方法,成员变量 final修饰的 无法被继承。 final修饰的方法 无法被重写。...重载是在同一个,重写是在父子类中 重载的参数列表不同,重写参数列表相同 重载和返回值无关, 重写的返回值相同或者是父方法返回值的子类 重载可以使用任意访问修饰符,重写访问修饰符大于等于父方法修饰符...普通成员变量必须依存于某一个对象,需要先创建对象然后通过对象才能访问到它 HashMap和HashTable的区别 1、HashMap是非线程安全的,HashTable是线程安全的。

87710
您找到你想要的搜索结果了吗?
是的
没有找到

Java容器大全

接口的哈希表和链接列表实现 HashMap:散列表,最多允许一条键为null的记录 LinkedHashMap:使用元素自然顺序进行排列 Vector:与ArrayList类似,是同步的 Stack...三、Array、Arrays与ArrayList Array是对象数组的对象的reference)与基本类型数组非常类似,大小固定,可以存储基本数据类型和对象,Array还可以作为函数返回值。...ArrayList是一个容器(一个个reference指向Object),只能存储对象,不能存储原生数据类型(上一篇博客中讨论过,如int)。...List是一个接口,而ArrayList是其实现,List无法被直接构造(new),但是可以通过List list = new ArrayList()来构造。 四、HashMap 1....概念 HashMap继承于AbstractMap,基于散列表,实现了Map、Cloneable、java.io.Serializable接口。存储的内容是键值对映射,利用拉链法实现。

69020

Java进阶-集合(3)与泛型

Iterator it=col.iterator(); //获取迭代器遍历集合 while (it.hasNext()){ //it.next()方法返回的数据类型是Object类型(需要强...二、泛型 1、集合的设计角度 把集合看成容器,将对象“丢进”集合,集合不会记住对象数据类型(即丢失了对象的状态信息),再次取出时,对象的编译类型变为Object(运行时类型不变) 1.1 优点 具有很好的通用性...,能保存任何类型的对象(因为Object是所有的父,即创建对象时都能向上转型,不用强) 1.2 问题(若无泛型) 1)集合对元素类型没有任何限制,如想创建一个只保存 Dog 对象的集合,但程序也可以轻易地...类型的数据换为相应的数据类型 System.out.println("----------学生信息----------"); System.out.println("学生姓名...泛型方法使得该方法能够独立于而产生变化。如果使用泛型方法可以取代泛型化,那么就应该只使用泛型方法。 一个 static 方法无法访问泛型的类型参数。

24621

eclipse如何导入java文件_xml表格

代码快速 实现xml 转换为 Excel(xmlexcel通用-java-完成代码可作工具使用) 用代码实现xml 文件/数据换为excel 文件。...(java)—-何潮 背景:最近项目要做导出功能,但导出的数据对象类型实在太多了,一个个去实现;实在是没心情去做。于是———- 意义:快速实现数据导出 为什么是xml to excel?...因为项目中可以直接使用xml数据。所以就选择xml了。(直接数据库取数据excel,也可以按同一思路实现) 目标:从一个最多二级关联的数据结构,通过定义结构关系,实现数据自动转换成excel....2:复合形展示 方式3:一行显示一个完整对象(合并多个关联表)—-支持不同对象不同表头 复用实现一个简单导出要多少代码?...OBJ_STATE”, “状态” } }; xt.alltables.put(“200101”, mainXmlStruct1);class xExcelType { /** xls显示方式0:组合式1:单一列表

1.1K30

Java集合中的HashMap

重新根据新的散列表计算e的新位置i,后面则开始通过头插法把元素插入进入新的散列表。 ?   通过头插法A插入进了新散列表的i位置,此时指针通过e=next继续移动,待插入元素变成了B,如下所示。...此时线程T1对扩容前的HashMap元素已经完成了转移,但由于Java内存模型的缘故线程T2此时看到的还是它自己线程中HashMap之前的变量副本。此时T2对数据进行转移,如下图所示。 ?   ...探讨了JDK7中的put方法,接下来看看JDK8新增了红黑树HashMap是如何进行put,如何进行扩容,以及如何链表转换为红黑树的。...增加了红黑树数据结构,此时有可能已经是红黑树结构,或者处在链表红黑树的临界点,所以此时需要有几个判断条件 10   else { 11   //3.1 这是一个特殊判断,如果tab[i]的元素hash...这需要重写equals和hashCode才能使得两个pojo对象“相等”。   剩下的方法思路大同小异,基本均是计算hash、计算散列表下标i、遍历、判断节点类型等等。

93630

2.8k stars 推荐一个开源功能丰富且易用的Java工具库

name列表 List names = EnumUtil.getNames(TestEnum.class); //结果:[TEST1, TEST2, TEST3] // 获得枚举中各枚举对象下指定字段的值...("需要验证字段的正则表达式", "被验证内容") 1.19、Bean 工具 - BeanUtil Bean 工具主要是针对这些 setXXX 和 getXXX 方法进行操作,比如 Bean 对象转为...// 集合转换为字符串 String[] col=new String[]{"a","b","c","d","e"}; List colList =CollUtil.newArrayList(col)...html、转义的别名表情 // 转义Emoji字符 String alias = EmojiUtil.toAlias("");//:smile: // 转义的别名转为Emoji字符 String...emoji = EmojiUtil.toUnicode(":smile:");// // 字符串中的Unicode Emoji字符转换为HTML表现形式 String alias = EmojiUtil.toHtml

12010

toString如何json

通过toString获取Java对象的话,只要将toStringjson后再通过JSON.parseObject()转成对象即可,现在剩下的问题就是toStringjson了。...,都是一个token; 其次一个token解析成key和value,通过分隔符 "=" 来分割; 然后key和value转换为json的单个token结构,也就是"key":"value"这种格式。...注意这里的key或者value可能不是基本类型,因此需要继续递归处理; 注意:除了单个token之外,还有list和map结构的数据,只不过其是token列表和token map结构而已。...由于toString是弱类型数据格式,toString格式中key=value,比如key=100,这个value 100无法区分出来是数值类型还是字符串类型,保险起见将其处理成字符串类型,由于(fastjson...日常开发中有些场景可能需要将java对象的toString格式转换为json格式来使用,毕竟json格式较为通用并且很容易将其反序列化为对应Java对象,常见的场景有:写单测时,mock一个复杂对象,从日志中可以获取到了对象

6.8K41

Java集合框架

另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中 引出 数组在内存存储方面的特点: 数组初始化之后,长度就确定了(无法再次改变长度...用于保存具有映射关系的数据:key-value Map 中的 key 和 value 都可以是任何引用类型的数据 Map 中的 key 用Set来存放,不允许重复,即同一个 Map 对象所对应的,...而JDK1.8中,HashMap采用数组+链表+红黑树(一种平衡搜索二叉树)实现,当链表长度超过阈值(8)时,链表转换为红黑树,这样大大减少了查找时间 和Vector类似,Map体系也有一个自JDK1.2...如果想中断强引用与对象之间的联系,可以显示的强引用赋值为null,这样一来,JVM就可以适时的回收对象了 二,软引用 软引用是用来描述一些非必需但仍有用的对象。...,发现它只有一个构造函数和一个 get() 方法,而且它的 get() 方法仅仅是返回一个null,也就是说永远无法通过虚引用来获取对象,虚引用必须要和 ReferenceQueue 引用队列一起使用

1.3K10

TypeError: Object of type float32 is not JSON serializable

尽管这种数据类型在科学计算和机器学习任务中非常常见,但由于不是Python的内置数据类型,因此json模块无法直接将其转换为JSON。如何解决这个错误?...以下是一些解决方法:方法一:float32换为floatfloat32型的对象换为Python的内置float类型是一个简单而有效的解决方法。...方法三:数据类型转换为JSON可序列化的类型如果float32对象数据结构(如列表或字典)中的一个元素,可以考虑整个数据结构转换为JSON格式。...通过float32换为float、使用自定义编码器,以及整个数据结构转换为JSON,我们可以解决这个错误。选择合适的方法取决于具体情况和数据结构。希望本文对你在处理这个错误时有所帮助!...为了解决这个问题,需要将float32数据换为JSON可序列化的数据类型,例如float32换为浮点数类型(float)或将其转换为字符串。

41310

TypeScript实现Map与HashMap

前言 字典(Map)与散列表(HashMap)是一种采用[键(key),值(value)]对的形式来存储数据数据结构。...实现思路 字典与散列表存储数据的方式是键值对的形式来存储,因此我们可以使用JavaScript中的对象来实现。...key转为字符串 换为字符串的key作为字典中的key,key & value放进一个对象中,这个对象存进转换为字符串的key中。...清空字典(clear),直接字典对象初始化为空对象即可 字典中的数据转为字符串 (toString) toString方法不接收任何参数 如果字典为空,则直接返回空字符串。...console.log("HashMap中的数据字符串输出",hashMap.toString()); console.log("清空HashMap中的数据"); hashMap.clear();

1.2K30

Java集合源码分析

常用方法和属性 三、LinkedList 0. 数据结构 1. 继承结构 2. 构造方法 3. 常用方法和属性 四、 HashMap 0. 数据结构 1. 继承结构 2. 构造方法 3....常用方法和参数 〇、说明 集合特性 任何对象加入集合后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。...---- 二、ArrayList 0. 数据结构 该类封装了一个动态再分配的Object[]数组,每一个对象都有一个capacity属性。 1....remove()方法:会调用unlink()方法 ---- 四、 HashMap 0. 数据结构 在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突。...而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度超过阈值(8)时,链表转换为红黑树,这样大大减少了查找时间。

39720

这些Java 代码必须要说一说优化细节!

建议替换为: ? 这样,在list.size很大的时候,就减少了很多的消耗 6、尽量采用懒加载的策略,即在需要的时候才创建* 例如: ? 建议替换为: ? 7、慎用异常 异常对性能不利。...13、基于效率和类型检查的考虑,应该尽可能使用array,无法确定数组大小时才使用ArrayList 14、尽量使用HashMap、ArrayList、StringBuilder,除非线程安全需要,否则不推荐使用...当应用服务器需要保存更多的会话时,如果内存不足,那么操作系统会把部分数据转移到磁盘,应用服务器也可能根据MRU(最近最频繁使用)算法把部分不活跃的会话储到磁盘,甚至可能抛出内存不足的异常。...如果会话要被储到磁盘,那么必须要先被序列化,在大规模集群中,对对象进行序列化的代价是很昂贵的。因此,当会话不再需要时,应当及时调用HttpSession的invalidate方法清除会话。...实际经验表明,实现RandomAccess接口的实例,假如是随机访问的,使用普通for循环效率高于使用foreach循环;反过来,如果是顺序访问的,则使用Iterator会效率更高。

60830

HashMap连环18问

链表转换成红黑树前会判断,如果当前数组的长度小于 64,那么会选择先进行数组扩容,而不是转换为红黑树,以减少搜索时间。...补充数组容量计算的小奥秘 HashMap 构造函数允许用户传入的容量不是 2 的 n 次方,因为它可以自动地传入的容量转换为 2 的 n 次方。...Java 里的数组是无法自动扩容的,方法是 Hashmap 的大小扩大为原来数组的两倍,并将原来的对象放入新的数组中。 那扩容的具体步骤是什么?让我们看看源码。...因为获取对象的时候要用到 equals() 和 hashCode() 方法,那么键对象正确的重写这两个方法是非常重要的,这些已经很规范的重写了 hashCode() 以及 equals() 方法。...用可变HashMap 的 key 有什么问题? hashcode 可能发生改变,导致 put 进去的值,无法 get 出。

48220
领券