String类型的对象是不可改变的.这句话怎么理解?

Java > Java SE [问题点数:20分,结帖人gahade]
等级
本版专家分:1
勋章
Blank
黄花 2007年5月 MS-SQL Server大版内专家分月排行榜第二
Blank
蓝花 2007年4月 MS-SQL Server大版内专家分月排行榜第三
结帖率 100%
等级
本版专家分:768
等级
本版专家分:25922
勋章
Blank
黄花 2006年2月 C/C++大版内专家分月排行榜第二
等级
本版专家分:1755
勋章
Blank
蓝花 2000年11月 VB大版内专家分月排行榜第三
等级
本版专家分:2
等级
本版专家分:768
等级
本版专家分:901
等级
本版专家分:9197
等级
本版专家分:9197
等级
本版专家分:3
等级
本版专家分:635
gahade

等级:

Blank
黄花 2007年5月 MS-SQL Server大版内专家分月排行榜第二
Blank
蓝花 2007年4月 MS-SQL Server大版内专家分月排行榜第三
String类是不可改变的(理解

String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了。 如果需要对字符串做很多修改,那么应该选择使用StringBuffer & StringBuilder 类。 这句话理解: AVA中字符串类型String是不...

String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了。

转自:...String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了。 如果需要对字符串做很多修改,那么应该选择使用StringBuffe

Java基础之String、StringBuffer与StringBuilder

String内容不可变,StringBuffer和StringBuilder内容可变; StringBuilder非线程安全(单线程使用),String与StringBuffer线程安全(多线程使用); 如果程序不是多线程的,那么使用StringBuilder效率高于...

String中两种初始化方式比较

首先要分清楚句话做了什么操作,这句话 首先在常量池中查找“abc”,如果没有则创建对象 在栈中创建s1的引用, 将s1直接指向对象abc 因此在这里abc是常量池中的对象,如果声明另一个String类型对象引用,并...

Java中mutable对象和immutable对象的区别

今天读jdk源码中Map.java时看到一句话:“great care must be exercised if mutable objects are used as map keys”; 第一次知道mutable对象这个概念,google了一下,维基百科定义如下: “In object-oriented ...

java String的经典问题(new String() ,String )

先来看一个例子,代码如下: 1.public class Test { 2. public static void main(String[] args) { 3. String str = "abc"; 4. String str1 = "abc"; ...5. String str2 = new String("ab

解惑真小白的苦恼 | 类的对象对象引用,对象实例,引用变量

对于刚接触不久面向对象的真小白童鞋来说,类的对象对象的实例,对象的引用,引用变量的问题以及莫过于没得对象虽然博主也没得对象,本文将逐个逐个讲解! 1.何谓对象? 在Java中有一比较流行的,叫做“万物皆...

Java的string类常量池及不可变性

 当使用new String(“hello”)时,JVM会先使用常量池来管理“hello”直接量,再调用String类的构造器来创建一个新的String对象,新创建的对象被保存在堆内存中。即new String(“hello”)一共产生了两个字符串...

(JAVA面试)String StringBuffer StringBuilder详解

文章目录String实用方法类型转换查找字符线程安全常量池扩充字符串常量池拼接字符串例题考点StringBuffer和StringBudiler共同点区别拼接字符串String ...String是不可修改的,且java运行环境中对string对象

Java中的数据比较(再谈==与equals的区别)

本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 Java中的变量与对象有区别吗? 引子:变量与对象变量是Java中最基本的存储...是一个为基本数据类型的变量赋值的例子,它表达了

每个初学者都应该搞懂的问题

对于个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。 问题一:我...

Java Final修饰符存储位置,为什么String不可变的?

 相信大家在开发中,对于final修饰符都比较常见,它会将修饰的变量固定不可重复赋值。但是我们是否思考过被它所修饰属性变量或类存储在哪里呢?下面已我将用比较有趣的问答形式,让大家对final有一个全面的认识。在...

String,StringBuffer与StringBuilder的区别

我们可以得知,String底层是一个final类型的字符数组,所以String的值是不可变的,每次对String的操作都会生成新的String对象,造成内存浪费 而StringBuffer和StringBuilder就不一样了,他们两都继承了...

java中String和char(面试必考题)

一 char和string的区别: 1 char是表示的是字符,定义的时候用单引号,只能存储一个字符。例如; char='d'. 而String表示的是字符串,定义的时候用双引号,可以存储一个或者多个字符。例如:String=“we are ...

String不可变的理解以及String类型的引用传递问题

今天复习java时,突然注意到了一句以前没有注意过的一句话String 是final修饰的,其值是不可变的。当时看的一脸懵逼,String str = "abc"; str = "abcde"两行代码没有任何的错误的。上网百度了许久,还是整理...

JAVA中值传递和引用传递的三种情况

前言我们都知道,java中数据类型分为基本数据类型和引用数据类型。 基本数据类型 - 整型:byte,short,int,long - 浮点型:float,double - 字符型:char - 布尔型:boolean 引用数据类型 - 数组 - 类...

堆和栈的精华大总结

◆栈:存放基本类型的数据和对象的引用,但对象本身存放在栈中,而是存放在堆中 ◆堆:存放用new产生的数据 ◆静态域:存放在对象中用static定义的静态成员 ◆常量池:存放常量 ◆非RAM存储:硬盘...

JavaSE面试深度剖析 第二讲

Programming Language》一书的附录中给出了一个 Java 关键字列表,其中有 goto 和 const,但是两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字个词应该有更广泛的意义,因为熟悉 C 语言...

Java:面试题:String s=new String("abc")创建了几个对象?

紧接着段代码之后的往往是个问题,那就是行代码究竟创建了几个String对象呢? 相信大家对道题并陌生,答案也是众所周知的,2个。 接下来我们就从道题展开,一起回顾一下与创建String对象相关的一些JAVA...

Java 之 String 类型

1. String是一个对象因为对象的...首先String不属于8种基本数据类型(byte, char, short, int, float, long, double, boolean)2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null; 3

string与参数引用传递

编者语:书上都说string是引用类型,但事实上我所看到的string和所谓的值类型没有什么区别,但通过看以下的文章,明白了:1、string a="abc";之后,如果a="xy",则是a并没有改变内存中已经存在的"abc",而是又创建了...

java中String的“==”和equals判断相等性

1. 首先String不属于8种基本数据类型String是一个对象。  因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 2. new String()和new String(“”)...

java变量的赋值与传递

1 数据类型 1.1 PrimitiveType(简单类型) 1.2 ReferenceType(引用类型) 2. 变量 2.1 简单类型变量 2.2 引用类型变量3.赋值与传递 3.1 对象的赋值 3.2 传递 3.3 final变量能改变吗? 

Java中用foreach遍历真的能修改数据?

问题: ...我在书上看到的是这句话:当需要以其他顺序遍历数组或改变数组中的元素时,还是必须使用下标变量。 它仅仅表示的数组中可以改变,我测试了一下,确实如此: 代码表示: import j...

String理解和经典面试题,

String public final class String ; String 类代表字符串。...Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例...因为 String 对象不可变的,所以可以共享。  String str = "abc";  等效于

String、StringBuilder、 StringBuffer 深入分析 源码解析

大家经常会说使用“+”号连接String 字符串比StringBuffer慢,String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,那接下来我们详细分析一下为什么使用“+”号速度会慢,为什么...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些...Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

Java之美[从菜鸟到高手演变]之字符串

写程序就像生活,有酸甜苦辣,关键在于过程,任何事情的过程都是美好的,是值得我们回味的!有人说,编程是一种艺术,艺术出于生活却高于生活,每一个细节都值得细细品味...程序员无非就是两件事:学习和分享!...

java+内存分配及变量存储位置的区别

Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到...

String的Intern方法详解

String的Intern方法详解 引言  在 JAVA 语言中有8中基本类型和一种比较特殊的类型String。这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念。常量池就类似一个JAVA...

相关热词 c#编译器 学习 c#和其他语言相比 c# 什么是管道 c# 在ui线程中运行 c# 动态增加枚举 c# panel边框 c#调用dll报错 c# 编写dll c# dll修复工具 c# timer 多线程