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

Posted 平凡加班狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Objectequals和hashCodehashCode(相关的知识,希望对你有一定的参考价值。

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的逻辑基础

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

以上是关于Java面试宝典_君哥讲解笔记04_java基础面试题——String s=new String(“xyz“);创建了几个String Objectequals和hashCodehashCode(的主要内容,如果未能解决你的问题,请参考以下文章

Java面试宝典_君哥讲解笔记02 描述JDKJREJVM之间的关系如果main方法声明成private会怎么样char 类型的变量能不能存储一个中文汉字++a 和a+++的区别等

Java面试_君哥讲解笔记_java面向对象_12 java和C++的区别面向对象怎么理解重载和重写的区别构造器是否可以被重写静态变量和实例变量的区别

Java面试_君哥讲解笔记_java面向对象_3抽象类和接口有什么区别接口是否可以继承接口private修饰的方法可以通过反射访问,那么private的意义是什么_ java类的初始化/执行顺序

Java面试宝典学习笔记2020

2016年JAVA面试宝典,再送一场欧洲杯流量

阿里面试官花近十年整理出来的 Java 面试宝典 PDF