Java中关于String的两种赋值方式

 更新时间:2024年01月16日 14:36:00   作者:.二丫.  
这篇文章主要介绍了Java中关于String的两种赋值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

String的两种赋值方式

一、直接赋值

二、new对象赋值

String类比较是否相等

  • 1.== 比较的是栈内存中的值 而基本数类型 在栈内存储的就是本身的值 所以基本数据类型比较就用 ==
  • 2.引用数据类型在栈内存储的是地址值,所以==比较引用数 据类型就相当于比较两个对象的地址值,而只要是new出来的 地址值肯定不相同。所以比较地址值无意义。

我们应该比较引用数据类型堆内存中的真正内容所以 字符串比较堆内存中的具体值需要用到equasl方法

String两种赋值方式的区别

  • 1.如果是new对象赋值那么直接开辟空间
  • 2.==直接(字面量)赋值涉及到共享涉及模式 系统默认处理 第一个赋值的会开辟空间,随后每个赋值的如果有和这个相等的则指向同一块内存
package Object;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		/*
		 * String s1 = "hello world";
		 * String s2 = new String("hello world");
		 *
		 * System.out.println(s1 == s2);
		 * 结果为:false
		 */
		
		/*
		 * String s1 = new String("hello"); 
		 * String s2 = new String("hello");
		 * 
		 * System.out.println(s1==s2); 
		 * 结果为:false
		 * 
		 * //比较的是堆栈中的内容
		 * boolean f = s1.equals(s2); 
		 * System.out.println(f); 
		 * 结果为:true
		 */

		/*
		 * String s1 ="world";
		 * String s2 ="world";
		 * 
		 * System.out.println(s1==s2);
		 * 结果为:true
		 * 
		 * 
		 */

	}

}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java 正则表达式入门详解(基础进阶)

    Java 正则表达式入门详解(基础进阶)

    最近看到很多同学想要学习java正则表达式的一些知识,那么脚本之家小编就为大家介绍一下,其实正则表达式实用性很强,处理大幅文字的时候都需要用得到,语法也大同小异
    2017-10-10
  • 详解Java中的hashcode

    详解Java中的hashcode

    这篇文章主要介绍了详解Java中的hashcode,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • Minio环境部署过程及如何配置HTTPS域名

    Minio环境部署过程及如何配置HTTPS域名

    MinIO 是一个对象存储系统,数据需要存储在宿主机上,容器的重启不影响数据,因此我们需要为 MinIO 创建一个挂载目录,用于持久化存储数据,本文详细介绍了如何部署MinIO,并通过配置反向代理和HTTPS来提升其安全性,感兴趣的朋友一起看看吧
    2025-03-03
  • j2ee之AJAX二级联动效果

    j2ee之AJAX二级联动效果

    这篇文章主要为大家详细介绍了j2ee之AJAX二级联动效果的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 详解如何使用ModelMapper库进行对象之间的属性映射

    详解如何使用ModelMapper库进行对象之间的属性映射

    这篇文章主要介绍了如何使用ModelMapper库进行对象之间的属性映射实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • SpringBoot集成thymeleaf浏览器404的解决方案

    SpringBoot集成thymeleaf浏览器404的解决方案

    前后端不分离的古早 SpringMVC 项目通常会使用 thymeleaf 模板引擎来完成 html 页面与后端接口之间的交互,如果要将项目架构升级成 SpringBoot , thymeleaf 也可以照常集成,但有时候会踩到一些坑,所以本文给大家介绍了SpringBoot集成thymeleaf浏览器404的解决方案
    2024-12-12
  • mybatis和mybatis-plus同时使用的坑

    mybatis和mybatis-plus同时使用的坑

    本文主要介绍了mybatis和mybatis-plus同时使用的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Opencv实现身份证OCR识别的示例详解

    Opencv实现身份证OCR识别的示例详解

    这篇文章主要为大家详细介绍了如何使用Opencv实现身份证OCR识别功能,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以跟随小编一起了解一下
    2024-03-03
  • SpringBoot绑定配置文件中变量的四种方式总结

    SpringBoot绑定配置文件中变量的四种方式总结

    当在Spring Boot中需要绑定配置文件中的变量时,可以使用以下注解:@PropertySourc,@Value,@Environment,@ConfigurationProperties,具体实现代码示例文中讲解的非常详细,需要的朋友可以参考下
    2023-11-11
  • SpringBoot整合neo4j使用详解

    SpringBoot整合neo4j使用详解

    这篇文章将和大家详细聊聊如何在springboot应用中集成和使用neo4j,文中有详细的实现流程和实例代码,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10

最新评论