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

java基础面试题目录

前言

在这里插入图片描述

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

这个问题是必须要回答上来的这个问题要是答不上来的话,会被认为基础很差
分析
在这里插入图片描述
String s=new String(“xyz”),这里有一个new
那肯定是new了一个对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

在这里插入图片描述
在这里插入图片描述
答案是没有创建对象,即创建了0个对象
在这里插入图片描述
在这里插入图片描述
预测以下代码的输出结果
在这里插入图片描述

我们理解了前面的原理之后就可以知道,== s5是创建了1个字符串对象 ==
所以我们回到最开始
在这里插入图片描述
可以是1个也可以是2个,就看前面常量池里面有没有这个字符串对象了

这几个对象直接

在这里插入图片描述
先自己预测输出的值是什么?一定要理解
在这里插入图片描述

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

很多小白都不知道hashCode与equals的关系,但是我们在面试题中又会经常涉及到类似的题目
在这里插入图片描述
这样一问,多少人要问懵
我们总想逃避复杂的问题,但是这个问题千万不能逃避,
工作三五年之后,你会发现这个知识点非常重要,同时如果工作三五年还不会,会被鄙视

在这里插入图片描述

在这里插入图片描述
hash码也叫散列码

HashMap到底是啥

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为什么String要重写hashCode,我们知道java里面任何一个类都是顶层都是继承自object的

这里为什么要重写就是因为,如果你不重写,它就会默认走object的hashCode
在这里插入图片描述

hashCodd还有其它作用吗?

hashCodd还有其它作用吗,这里跟hashMap就关系很大了,我们知道
在这里插入图片描述
在这里插入图片描述
equals返回true,则他们的hashCode一定相同

在这里插入图片描述
但是在String里面又重写了 equals,所以才变成今天我们使用的这样:判断内容是否相等用equals,就是因为String重写了equals
在这里插入图片描述
String里面不仅重写了hashCode方法,还重写了equals方法

注意
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

打印九九乘法口诀表

在这里插入图片描述
在这里插入图片描述

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

这个问题,首先要知道数学里面是怎么算的,才能用java去解决
此题考核的是java的逻辑基础
在这里插入图片描述
在这里插入图片描述

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

Guess you like

Origin blog.csdn.net/qq_41753340/article/details/121117390