`
ghljx
  • 浏览: 19025 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类

Java String 值不可修改的问题

阅读更多
JDK 上说
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

字符串是常量;它们的值在创建之后不能更改。

但是实际运行中
public class A
public static void main(String[] args) {

String s="123";
String a1="456";
s=a1;
System.out.println(s);
System.out.println(s);
}
}
输出结果是
456
456
这是为什么呢, 如果改成 s+a1=="456456";
输出false;
这是因为s和a1都是指针,指向内存中的位置,s="456" 是说s指向了456这块内存, 而要是想改变"456"这个字符串本身这是不可能的
1
0
分享到:
评论

相关推荐

    Java中String判断值为null或空及地址是否相等的问题

    在Java中,String对象是不可变的,这意味着一旦创建,就不能更改其值。 错误用法1:`if (name == "")`,这种情况下,即使name为空字符串,条件也不会满足,因为`name`实际上是`null`,而不是空字符串`""`。因此,当...

    String型的不可变性

    Java 中的 String 型是一个特殊的包装类数据,它具有不可变性。什么是不可变性呢?简单来说,就是 String 对象一旦被创建,不能被修改。那么,为什么 String 对象不能被修改呢?这就需要从 Java 的内存分配机制说起...

    Java String对象的经典问题

    `String`类是不可变的(immutable),这意味着一旦一个`String`对象被创建,它的内容就不能被改变。这种特性使得`String`类非常适合在多线程环境中使用,因为不需要担心其内容被多个线程同时修改。 #### 二、String...

    java String 数据结构

    它是一个不可变对象,意味着一旦创建,其内容就不能更改。这是因为`String`在Java中被实现为一个特殊的类,存储在一个连续的字符数组中,这个特性对于理解它的内部工作原理以及如何有效地使用它至关重要。下面将详细...

    java String类的实现

    `String`类代表不可变的字符序列,这意味着一旦创建了`String`对象,它的值就不能改变。这个特性使得`String`在处理文本时既安全又高效。 ### 1. `String`类的构造方法 `String`类提供了多种构造方法,允许我们以...

    Java 之 String 类型

    - 因为不可变性,每次对字符串进行修改(如使用`concat()`或`substring()`),都会生成新的字符串对象,这在处理大量字符串操作时需要注意性能影响。 2. **构造方法** - `String()`:无参数构造器,创建一个空...

    Java中的String对象是不可变的吗Java开发Jav

    首先,不可变性意味着一旦一个String对象被创建,它的值就不能再被修改。例如: ```java String str = "Hello"; str = str + " World"; // 这里创建了一个新的String对象,而不是修改原来的 ``` 在这个例子中,...

    十大常见Java String问题_动力节点Java学院整理

    String对象是不可变的,意味着一旦创建就不能修改。这使得它们在多线程环境下更安全,但同时也意味着敏感信息(如密码)一旦被创建,其内容就无法消除。相比之下,char[]数组可以被显式地修改,允许在使用后将其...

    小心String的陷阱——深入剖析Java中String的处理机制

    `String`在Java中被设计为不可变对象,意味着一旦创建了一个`String`对象,其内容就不能被更改。如果尝试修改`String`的内容,实际上是在内存中创建一个新的`String`对象来存储新的内容。这一特性确保了`String`对象...

    练习JAVA语句中的String

    字符串在Java中被视为不可变对象,这意味着一旦创建了一个`String`对象,就不能更改它的值。下面我们将深入探讨`String`类的一些关键知识点,以及如何通过练习来熟练掌握它们。 1. **创建String对象**: - 字面量...

    我们一起学Java之String

    String类的特点是不可变性,也就是说,一旦String对象被创建,其值就无法改变。这一特性对于Java内存管理有着重要影响,因为String对象会存储在方法区的字符串常量池中,以避免重复创建相同的字符串,从而提高内存...

    java String类常用方法练习小结

    `String`类的实例是不可变的,这意味着一旦创建了一个`String`对象,就不能更改它的内容。所有改变字符串的操作(如添加字符、删除字符等)都会返回一个新的`String`对象,而原始对象保持不变。 ### 5. 常见面试题 ...

    Java的String类

    它是一个不可变类,意味着一旦创建了一个`String`对象,其内容就不能更改。这使得`String`类在多线程环境中非常安全,同时也带来了一些性能上的考量。本文将深入探讨`String`类的各种构造函数、方法及其用途,帮助...

    Java String不可变性实现原理解析

    2. 将所有属性设置为私有,并用 final 标记,确保其不可修改。 3. 确保没有子类可以重载修改它的行为。 4. 有一个可以创建完整对象的构造函数。 三、String 源码分析 String 类是 Java 语言中一个典型的不可变对象...

    深入了解java 中的String

    String 类的本质是字符数组 char[],并且其值不可改变 `String` 类内部使用一个字符数组 `char[] value` 来存储字符串的实际内容。一旦创建了一个 `String` 对象,它的内容就不能再被修改。这种设计保证了字符串...

    Java-Java String和StringBuilder

    首先,`String`类在Java中是不可变的,这意味着一旦创建了一个String对象,就不能改变它的值。String对象在内存中的表示方式是字符数组,其值在创建后就固定不变。这确保了String对象的线程安全,因为在多线程环境下...

    java中的String类常用方法解析(一)

    在Java编程语言中,`String`类是使用最频繁的类之一,它代表不可变的字符序列。本文将深入解析`String`类的一些常用方法,帮助开发者更好地理解和使用这个核心类。 1. **构造方法** - `String()`:创建一个空字符...

    Java中的String为什么是不可变的?-String源

    在Java编程语言中,String类是一个非常特殊且重要的类,它是不可变的。这个特性意味着一旦创建了一个String对象,它的值就不能被改变。这个设计决策背后有多种原因,包括性能、安全性和线程安全性。 首先,理解...

    java String Vector简单初学者代码

    在Java中,`String`是一个不可变的字符序列,这意味着一旦创建了`String`对象,就不能再更改其内容。它提供了大量的方法,如`length()`用于获取字符串长度,`indexOf()`用于查找子串,`substring()`用于截取子字符串...

Global site tag (gtag.js) - Google Analytics