8.String str=“i“与 String str=new String(“i”)一样吗?
不一样
因为内存的分配方式不一样。String str="i"的方式,Java 虚拟机会将其分配到常量池中;而 String str=new String(“i”)方式,则会被分到堆内存中。
String str1 = "i";String str2 = "i";String str3 = new String("i");System.out.println(str1 == str2);//tureSystem.out.println(str2 == str3);//false
解释:
- Java 虚拟机会将其分配到常量池中:常量池不会重复创建对象。
在String str1="i"中,把i值存在常量池,地址赋给str1。假设再写一个String str2=“i”,则会把i的地址赋给str2,但是i对象不会重新创建,他们引用的是同一个地址值,共享同一个i内存。
- 分到堆内存中:堆内存会创建新的对象。
假设再写一个String str3=new String(“i”),则会创建一个新的i对象,然后将新对象的地址值赋给str3。虽然str3和str1的值相同但是地址值不同。
拓展:
堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。
常量池指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。
8.String str=“i“与 String str=new String(“i”)一样吗?相关推荐
- istringstream字符串流,实现类似字符串截取的功能,字符串流中的put,str()将流转换成为字符串string
1. istringstream字符串流 #include <iostream> #include <sstream> #include <string> u ...
- java中String类是什么_Java中的String类
/* String类用于描述字符串事物的 那么它就提供了多个方法对字符串进行操作 方法都会用,字符串这块就结束了 常见的操作有哪些? "abcd" 它应该具备什么功能,我们才能更好 ...
- string修饰的梦修改吗_Java String 对象,你真的了解了吗?
String 对象的实现 String对象是 Java 中使用最频繁的对象之一,所以 Java 公司也在不断的对String对象的实现进行优化,以便提升String对象的性能,看下面这张图,一起了解一 ...
- python string模块template_Python标准库笔记(1) — string模块
String模块包含大量实用常量和类,以及一些过时的遗留功能,并还可用作字符串操作. 1. 常用方法 常用方法描述str.capitalize()把字符串的首字母大写str.center(width) ...
- C++string类常用函数 c++中的string常用函数用法总结
string类的构造函数: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外,string类 ...
- Java中String类的concat方法___java的String字符串的concat()方法连接字符串和“+“连接字符串解释
Java中String类的concat方法 在了解concat()之前,首先需要明确的是String的两点特殊性. 长度不可变 值不可变 这两点从源码中对String的声明可以体现: private ...
- string 包含_一文搞懂String常见面试题,从基础到实战,到原理分析和源码解析...
01 string基础 1.1 Java String 类 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 1.2 创建字 ...
- java string的某个字符_JAVA如何提取String中字符串的某个字符 具体内容
今天小编和大家分享JAVA如何提取String中字符串的某个字符,希望对大家有所帮助. 工具/材料 PC 操作方法 01 java中提取特定字符前的字符串: String str = "房估 ...
- java string对象名称_java中常见对象——String
字符串:就是由多个字符组成的一串数据.也可以看成是一个字符数组. A:字符串字面值"abc"也可以看成是一个字符串对象. B:字符串是常量,一旦被赋值,就不能被改变. 构造方法: ...
- Java String到int,Java int到String
Today we will look at Java String to int conversion and then java int to String conversion. Java pro ...
最新文章
- 推荐8个鲜为人知,但是很有意思的工具,简洁又好用!
- (操作系统)实验二 作业调度
- MapReduce操作HBase
- acer软件保护卡清除工具clear_使用Windows 10内置工具释放硬盘空间的最佳方法
- STM8学习笔记---union联合体的应用
- c语言程序设计万年历的显示,C语言程序设计万年历
- android 编译api,Android逆向利器,直接将apk转换为可二次开发Android工程,提供So hook Api,......
- archlinux mysql_在Arch Linux中安装MySQL
- android模拟器命令行,夜神安卓模拟器命令行整理贴
- 阿里第九版Java系统架构师+应用架构师面试突击宝典
- 多序列比对要多久时间_序列比对,几个常用的多序列比对软件
- 关于Excel表格快捷键
- Action Recognition——Deep Domain Adaptation in Action Space——BMVC2018
- request爬虫爬取电影并利用pyqt5进行本地播放(失败品)
- Redundant Paths
- AI-统计学习(11)-改进的迭代算法及拟牛顿法
- 光流的概念以及 Lucas-Kanade 光流法
- 韩式时尚大片《九月风》(出镜:马晓辉/徐嘉依)
- 成立两只产业基金,微盟如何布局SaaS生态?
- 微信8.0状态背景视频合集