iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >java中String的赋值方式有哪些
  • 534
分享到

java中String的赋值方式有哪些

javastring 2023-05-30 21:05:56 534人浏览 独家记忆
摘要

这期内容当中小编将会给大家带来有关java中String的赋值方式有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。类似普通对象,通过new创建字符串对象。String str = new String

这期内容当中小编将会给大家带来有关java中String的赋值方式有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

类似普通对象,通过new创建字符串对象。String str = new String("Hello"); 内存图如下图所示,系统会先创建一个匿名对象"Hello"存入堆内存(我们暂且叫它A),然后new关键字会在堆内存中又开辟一块新的空间,然后把"Hello"存进去,并且把地址返回给栈内存中的str, 此时A对象成为了一个垃圾对象,因为它没有被任何栈中的变量指向,会被GC自动回收。

直接赋值。如String str = "Hello"; 首先会去缓冲池中找有没有一个"Hello"对象,如果没有,则新建一个,并且入池,所以此种赋值有一个好处,下次如果还有String对象也用直接赋值方式定义为“Hello”, 则不需要开辟新的堆空间,而仍然指向这个池中的"Hello"

java中String的赋值方式有哪些

解释

l 字符串的内容是存放在方法区的字符串常量池的,没有的时候就新建一个,已经存在的时候就直接指过去。

l String str1 = “AA”,这种是直接操作字符串常量池指过去;String str2 = new String(“AA”);这种是先在堆空间开辟这个类的对象,实际上在内部还是指到了字符串常量池;

package two.string.mushroom;public class TestTwoString {public static void main(String[] args){String str1 = "AA";String str2 = "AA";String str3 = new String("AA");System.out.println("str1 == str2: " + (str1 == str2));//它们都指向字符串常量池中的 "AA",trueSystem.out.println("str1 == str3: " + (str1 == str3));//它们本身指向不同,false//String类重写了equals方法,实际上比较的是字符串的内容是否相等,trueSystem.out.println("str1.equals(str3): " + (str1.equals(str3)) );Animal p1 = new Animal("AA",10);Animal p2 = new Animal("AA",12);//因为构造器中的方式是直接指向字符串常量池的,所以也是trueSystem.out.println("p1.name == p2.name: " + (p1.name == p2.name));}}class Animal{String name;int age;Animal(String name,int age){this.name = name;//构造器中的方式是直接指向字符串常量池的this.age = age;}}

测试结果

str1 == str2: true str1 == str3: false str1.equals(str3): true p1.name == p2.name: true

java中String的赋值方式有哪些

上述就是小编为大家分享的java中String的赋值方式有哪些了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: java中String的赋值方式有哪些

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中String的赋值方式有哪些
    这期内容当中小编将会给大家带来有关java中String的赋值方式有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。类似普通对象,通过new创建字符串对象。String str = new String...
    99+
    2023-05-30
    java string
  • Java中数组赋值的方式有哪些
    Java中数组赋值的方式有以下几种:1. 直接赋值:可以使用大括号将元素列表括起来,用逗号分隔每个元素,并将整个列表赋给数组。例如:...
    99+
    2023-08-29
    Java
  • java数组赋值方式有哪些
    java中给数组赋值的方式有:1.直接赋值;2.使用for循环赋值;3.使用循环遍历赋值;java中给数组赋值的方式有以下几种直接赋值int[] arr = {1,2,3};int[] arr2 = new int[]{1,2,3};使用f...
    99+
    2024-04-02
  • jquery赋值的方式有哪些
    本篇内容介绍了“jquery赋值的方式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • java二维数组赋值的方式有哪些
    在Java中,可以使用以下几种方式来赋值二维数组: 使用静态初始化方式赋值二维数组: int[][] array = {{1, ...
    99+
    2024-03-14
    java
  • php中变量赋值的方式有哪些
    在PHP中,变量赋值的方式有以下几种:1. 直接赋值:使用"="符号将一个值赋给变量,例如:$x = 5;2. 引用赋值:使用"&"...
    99+
    2023-09-04
    php
  • java变量赋值的方法有哪些
    在Java中,变量可以通过以下方法进行赋值: 直接赋值:可以直接将一个值赋给变量,例如:int a = 10; 表达式赋值:...
    99+
    2024-03-11
    java
  • java给list赋值的方法有哪些
    Java 给 List 赋值的方法有以下几种:1. 使用 add() 方法逐个添加元素:```javaList list = new...
    99+
    2023-08-29
    java
  • java中赋值运算有哪些
    java中的赋值运算有:1.等号赋值运算符(=);2.加等赋值运算符(+=);3.减等赋值运算符(-=);4.乘等赋值运算符(*=);5.除等赋值运算符(/=);6.模等赋值运算符(%=);java中的赋值运算有以下几种等号赋值运算符(=)...
    99+
    2024-04-02
  • java给数组赋值的方法有哪些
    使用循环遍历数组,逐个赋值: int[] arr = new int[5]; for (int i = 0; i < ar...
    99+
    2024-03-02
    java
  • python中的变量赋值格式有哪些
    这篇文章主要讲解了“python中的变量赋值格式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中的变量赋值格式有哪些”吧!1.Python 变量的概述:变量,英文叫做 Va...
    99+
    2023-06-22
  • Java中Map的取值方式有哪些
    本篇内容主要讲解“Java中Map的取值方式有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中Map的取值方式有哪些”吧!Java关于Map的四种取值方式map的主要作用是什么?可以...
    99+
    2023-07-05
  • java对象数组赋值的方法有哪些
    在Java中,可以使用以下方法给对象数组赋值:1. 逐个赋值:可以使用简单的赋值语句,将每个元素逐个赋值给对象数组的对应位置。例如:...
    99+
    2023-08-15
    java
  • java二维数组赋值的方法有哪些
    Java二维数组赋值的方法有以下几种:1. 直接赋值:可以在声明二维数组时直接给数组元素赋值,例如:```javaint[][] a...
    99+
    2023-08-16
    java
  • php中变量赋值的方法有哪些
    在PHP中,变量赋值的方法有以下几种: 直接赋值:使用等号(=)将一个值赋给变量。 $name = "John&quo...
    99+
    2024-02-29
    php
  • JavaScript中数组赋值的方法有哪些
    这篇文章主要介绍“JavaScript中数组赋值的方法有哪些”,在日常操作中,相信很多人在JavaScript中数组赋值的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Java中HashMap获取值的方式有哪些
    这篇文章主要介绍了Java中HashMap获取值的方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中HashMap获取值的方式有哪些文章都会有所收获,下面我们一起来看看吧。Java HashMa...
    99+
    2023-07-05
  • shell中变量赋值的方法有哪些
    在Shell中,变量赋值有以下几种方法:1. 直接赋值:变量名=值例如:name="John"2. 命令替换:使用反引号 (`) 或...
    99+
    2023-08-11
    shell
  • python中有哪些赋值和交换的方法
    这篇文章给大家介绍python中有哪些赋值和交换的方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编...
    99+
    2023-06-14
  • python字典赋值的方法有哪些
    Python 字典赋值的方法有以下几种:1、直接使用等号赋值使用等号将一个字典赋值给另一个字典,两个字典将指向同一个内存地址,即修改...
    99+
    2023-05-13
    python字典赋值 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作