首页 > 编程语言 >Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(

时间:2023-02-20 13:02:35浏览次数:41  
标签:面试题 String xyz equals hashCode new 重写


java基础面试题目录

文章目录

  • ​​java基础面试题目录​​
  • ​​前言​​
  • ​​String s=new String("xyz");创建了几个String Object【重要】​​
  • ​​全面理解: String s2="xyz" 创建了几个对象​​
  • ​​下面输出的是true还是false​​
  • ​​a.hashCode()有什么用,它与a.equals(b)有什么关系【重要】?​​
  • ​​HashMap到底是啥​​
  • ​​hashCodd还有其它作用吗?​​
  • ​​打印九九乘法口诀表​​
  • ​​求最大公约数和最小公倍数​​

前言

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_java

String s=new String(“xyz”);创建了几个String Object【重要】

这个问题是必须要回答上来的这个问题要是答不上来的话,会被认为基础很差

分析

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_字符串_02


String s=new String(“xyz”),这里有一个new

那肯定是new了一个对象

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_面试_03


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_字符串_04


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_05


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_06

所以最终答案是 String s=new String(“xyz”);创建了几个String Object 生成了2个String Object ,一个是常量池中的,一个是堆空间的

全面理解: String s2=“xyz” 创建了几个对象

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_字符串_07


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_面试_08


答案是没有创建对象,即创建了0个对象

没有创建只是引用,因为常量池中已经有了

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_java_09


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_面试_10


预测以下代码的输出结果

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_字符串_11

我们理解了前面的原理之后就可以知道,== s5是创建了1个字符串对象 ==

所以我们回到最开始

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_12


可以是1个也可以是2个,就看前面常量池里面有没有这个字符串对象了

下面输出的是true还是false

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_面试_13


先自己预测输出的值是什么?一定要理解

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_14

a.hashCode()有什么用,它与a.equals(b)有什么关系【重要】?

很多小白都不知道hashCode与equals的关系,但是我们在面试题中又会经常涉及到类似的题目

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_面试_15


这样一问,多少人要问懵

我们总想逃避复杂的问题,但是这个问题千万不能逃避,
工作三五年之后,你会发现这个知识点非常重要,同时如果工作三五年还不会,会被鄙视

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_字符串_16

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_字符串_17


hash码也叫散列码

HashMap到底是啥

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_字符串_18


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_19


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_java_20


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_21


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_字符串_22


为什么String要重写hashCode,我们知道java里面任何一个类都是顶层都是继承自object的这里为什么要重写就是因为,如果你不重写,它就会默认走object的hashCode

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_面试_23

hashCodd还有其它作用吗?

hashCodd还有其它作用吗,这里跟hashMap就关系很大了,我们知道

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_面试_24


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_面试_25


equals返回true,则他们的hashCode一定相同

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_26


但是在String里面又重写了 equals,所以才变成今天我们使用的这样:判断内容是否相等用equals,就是因为String重写了equals

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_27


String里面不仅重写了hashCode方法,还重写了equals方法

注意

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_java_28


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_java_29

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_java_30


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_java_31

打印九九乘法口诀表

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_32


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_字符串_33

求最大公约数和最小公倍数

这个问题,首先要知道数学里面是怎么算的,才能用java去解决

此题考核的是java的逻辑基础

Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_java_34


Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Object、equals和hashCode、hashCode(_常量池_35

这是很基础的题目,如果这道题做不出基本上就凉了,所以一定要把这些基础搞明白


标签:面试题,String,xyz,equals,hashCode,new,重写
From: https://blog.51cto.com/u_15800767/6068367

相关文章