关于这个程序中到底有创建了几个对象?
头疼的是这句话中t 的最终状态是什么?字符串还是一个对象?
String t = n ;
public class StringToString {
public static void main(String[] args) {
String s = new String("abc") ;
String n = new String("abc") ;
String t = n ;
String a = "abc" ;
String b = "abc" ;
System.out.println("s和n的关系是:"+(s.equals(n))) ;
System.out.println("s和n的关系是:"+(s==n)) ;
System.out.println("s和t的关系是:"+(s.equals(t))) ;
System.out.println("t和s的关系是:"+(t==s)) ;
System.out.println("a和b的关系是:"+(a==b)) ;
System.out.println("a和t的关系是:"+(a==t)) ;
System.out.println("a和t的关系是:"+a.equals(t)) ;
}
}
输出结果:
s和n的关系是:true
s和n的关系是:false
s和t的关系是:true
t和s的关系是:false
a和b的关系是:true
a和t的关系是:false
a和t的关系是:true
分享到:
相关推荐
### String对象常用的属性与方法 在JavaScript中,`String`对象是用于表示和操作文本的强大工具。它提供了许多内置的方法来帮助我们处理字符串数据。本文将详细介绍`String`对象的一些常用属性和方法,并通过示例...
上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。...
对String创建几个对象代码详解,包括字符串相加,对象相加等等
当我们创建一个 String 对象时,JAVA 虚拟机(JVM)首先会在字符串池中查找是否已经存在了该对象,如果存在,则不再创建新的对象,直接返回已存在对象的引用;如果不存在,则创建新的对象,并将其加入字符串池中。 ...
### string对象的操作详解 #### 一、string 类型简介及基本操作 在现代 C++ 编程中,`std::string` 是一个极其重要的类,它提供了丰富的接口用于字符串的处理,大大简化了字符串操作的复杂性。下面将详细介绍 `std...
### 创建string对象过程的内存分配详解 #### 一、引言 在Java中,`String` 类是最常用的数据类型之一,用于表示不可变的字符序列。`String` 对象的创建涉及复杂的内存分配机制,特别是在Java虚拟机 (JVM) 的环境中...
接下来,我们通过几个例子来具体分析`String`对象的内存分配: 1. `String a = "abc"; String b = "abc";` 在这种情况下,"abc"首先会被放入常量池中。当创建`a`和`b`时,它们都指向常量池中的同一个"abc"对象,...
java面试的疑惑剪辑 博文链接:https://z-jq1015.iteye.com/blog/248599
面向对象基础 面向对象和面向过程的区别 成员变量与局部变量的区别 创建一个对象用什么运算符?对象实体与对象引用有何不同? 对象的相等和引用相等的区别 类的构造方法的作用是什么?...这句话创建了几个
创建了几个对象,为什么? 答案:创建了两个对象。"abc" 本身创建在常量池中,通过 new 又创建在堆中。String str = new String("abc"); 这一语句创建了两个对象:一个是常量池中的 "abc",另一个是堆中的 String ...
JAVA面试题String产生了几个对象 JAVA面试题String产生了几个对象?这个问题是很多Java开发者面试中常见的问题,本文将通过示例代码详细介绍String s = new String("xyz");产生了几个对象。 首先,需要了解Java中...
`std::string`内部实现较为复杂,主要包括以下几个部分: 1. **成员变量**:`std::string`包含一系列成员变量,用于存储字符串的实际内容、迭代器等信息。 2. **迭代器管理**:`std::string`利用迭代器来访问和操作...
下面我们将详细讲解几个重要的`String`类的方法: 1. **构造方法**: - `String()`:创建一个空字符串。 - `String(char[] array)`:根据字符数组创建字符串。 - `String(String anotherString)`:复制已有字符...
本文将详细探讨这一转换过程,并通过几个具体的示例来帮助理解。 #### 一、基础知识 在深入讨论如何将列表转换为字符串数组之前,我们首先需要了解一些基本概念。 - **List**:`List`是Java集合框架的一部分,...
为了更好地理解和使用String类,本文将从几个关键方面入手,探讨如何更加高效、合理地使用String对象。 #### 一、初始化String对象 **1.1 直接赋值** 最常见的初始化方式是通过直接赋值的方式创建String对象: ``...
这两行代码执行后,原始的String对象中的内容到底变了没有? 24 32、是否可以继承String类? 25 33、String s = new String("xyz");创建了几个String Object? 二者之间有什么区别? 25 34、String 和StringBuffer的...
在这个自定义的`string`类中,主要涉及以下几个知识点: 1. **字符指针**:字符指针是C/C++语言中处理字符串的基本工具。它是一个指向字符的指针,可以用来指向字符串的首字符。例如,`char *str`可以用来声明一个...
为了创建自己的`string`类,我们需要考虑以下几个关键知识点: 1. **内存管理**:字符串是由字符数组组成的,因此需要处理动态内存分配和释放。这通常涉及到构造函数、析构函数以及复制构造函数。在C++中,遵循深...
- **新`String`对象**:`substring()`方法返回的是一个新的`String`对象,而不是原字符串的一部分。这意味着对新创建的子串进行修改不会影响原始字符串。 - **效率**:虽然`String`类方便了字符串操作,但过度使用...