返回顶部
首页 > 资讯 > 精选 >如何使用String类的equals、==和intern()
  • 226
分享到

如何使用String类的equals、==和intern()

2023-06-16 02:06:58 226人浏览 安东尼
摘要

本篇内容主要讲解“如何使用String类的equals、==和intern()”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用String类的equals、==和intern()”吧!&n

本篇内容主要讲解“如何使用String类的equals、==和intern()”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用String类的equals、==和intern()”吧!

 Java实例的生成
我们都知道,java中new 一个类的实例是在JVM的堆中完成的,如下图所示:

如何使用String类的equals、==和intern()

在这里我们以String类为例讲解一些更为细节的东西!

String生成实例的代码如下:

String str=new String("hello");

对于通过new产生一个字符串(假设为” hello”)时,会先去上图的常量池中查找是否已经有了” hello”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”hello”对象的拷贝对象。

==和equlas()
我们看以下代码

String str1=new String("hello");

String str2=new String("hello");

System.out.println(str1==str2);

System.out.println(str1.equals(str2));

输出结果:

false

true

str1 和str2是引用(引用大家可以理解为指针,他指向"hello"所在内存中的地址),因为new String("hello") 相当于在堆中开辟了新的内存空间,然后在新开辟的内存空间中储"hello",str1 和str2指向的内存地址是不同的,这与他们在内存空间中存储的值是否相等无关!与==对应的是方法equals(),它是对String的值的比较,因为s1和s2的值都是hello,所以他们是相等的!

高级的intern()
接下来我们看一下比较高级的方法intern(),看下面这个例子

Strings1="hello";

Strings3=new String ("hello");

System.out.println(s1==s3);

System.out.println(s1==s3.intern());

输出结果:

false

true

对于第一个结果false很容易理解,因为s1 和s3的引用地址不同!s3调用了intern()方法,相当于把一个运行时创建的字符串加到字符串常量池(如果它还没有入池)。这样一来s1和s3都指向了常量池中的同一个地址,所以它们是相等的!

到此,相信大家对“如何使用String类的equals、==和intern()”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 如何使用String类的equals、==和intern()

本文链接: https://lsjlt.com/news/282091.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用String类的equals、==和intern()
    本篇内容主要讲解“如何使用String类的equals、==和intern()”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用String类的equals、==和intern()”吧!&n...
    99+
    2023-06-16
  • 如何使用equals() ? ==? hashCode()?
    这篇文章主要讲解了“如何使用equals() == hashCode()”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用equals() == hashCode()”吧!目录Jav...
    99+
    2023-06-15
  • java的String类如何使用
    本文小编为大家详细介绍“java的String类如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“java的String类如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、认识String1.JDK...
    99+
    2023-06-30
  • java中equals如何使用
    在Java中,`equals`方法是用于比较两个对象是否相等的方法。一般来说,如果我们想要比较自定义的类的对象是否相等,需要重写`e...
    99+
    2023-08-23
    java equals
  • java equals()方法如何使用
    这篇文章主要介绍了java equals()方法如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java equals()方法如何使用文章都会有所收获,下面我们一起来看看吧。在java中,equals()...
    99+
    2023-07-04
  • java中的equals方法如何使用
    在Java中,equals()方法用于比较两个对象是否相等。equals()方法是Java中的Object类的方法,所有的对象都继承...
    99+
    2023-09-15
    java
  • Python中String类型如何使用
    这篇文章给大家介绍Python中String类型如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python String类型应用代码示例:>>> 'hello wo...
    99+
    2023-06-17
  • == 与equals()方法如何在Java中使用
    == 与equals()方法如何在Java中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java中的== 和equals()方法:Java中的数据类型,可分为两类:1...
    99+
    2023-05-31
    java == equals()
  • Java的Class类和Object类如何使用
    这篇文章主要介绍“Java的Class类和Object类如何使用”,在日常操作中,相信很多人在Java的Class类和Object类如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java的Class类...
    99+
    2023-06-02
  • Java全面细致讲解==和equals的使用
    目录equals与==1. ==的使用1.1 概述1.2 代码演示2. equals的使用2.1 概述2.2 代码演示3. ==和equals的区别3.1 概述3.2 代码演示上篇博...
    99+
    2024-04-02
  • Java中使用==和equals的区别是什么
    这篇“Java中使用==和equals的区别是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中使用==和equa...
    99+
    2023-06-29
  • golang 中slice和string如何使用
    这期内容当中小编将会给大家带来有关golang 中slice和string如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。slice 和 string 内部结构slice 和 string 的内部结...
    99+
    2023-06-20
  • Python中str.format()和f-string如何使用
    这篇文章主要介绍“Python中str.format()和f-string如何使用”,在日常操作中,相信很多人在Python中str.format()和f-string如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-07-05
  • 如何进行equals()方法和==异同的比较
    如何进行equals()方法和==异同的比较,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。equals()方法是Object类的方法,所有的类都集成了此方法,还...
    99+
    2023-06-02
  • Java中String类、StringBuffer和StringBuilder怎么使用
    这篇文章主要介绍“Java中String类、StringBuffer和StringBuilder怎么使用”,在日常操作中,相信很多人在Java中String类、StringBuffer和StringBuilder怎么使用问题上存在疑惑,小编...
    99+
    2023-06-30
  • C++STL之string类的使用
    目录1.STL简介(1)什么是STL(2)STL的版本(3)如何学习STL(4)STL的六大组件2.string类的基本概念(1)含义(2)使用方法(3)原理3.string类中常见...
    99+
    2024-04-02
  • Java中Message类和Queue类如何使用
    Java中Message类和Queue类如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Message类package com.example....
    99+
    2023-06-17
  • 如何在Java中使用equals()方法实现重写
    如何在Java中使用equals()方法实现重写?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java中equals()方法重写实现代码  Java中的equals(...
    99+
    2023-05-31
    java equals() 重写
  • String concat(String str)如何使用
    这篇文章主要介绍了String concat(String str)如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇String concat(Strin...
    99+
    2023-07-04
  • 如何解决idea中默认equals和hashcode引起的bug
    小编给大家分享一下如何解决idea中默认equals和hashcode引起的bug,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!idea默认带的equals和ha...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作