`
anrynlee
  • 浏览: 13550 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
  • zczh3: N多年前 已经很多人讨论N遍:JAVA 与 C 只存在 传值, ...
    传引用

String对象到底有几个?

    博客分类:
  • J2SE
 
阅读更多
关于这个程序中到底有创建了几个对象?
头疼的是这句话中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对象常用的属性的方法

    ### String对象常用的属性与方法 在JavaScript中,`String`对象是用于表示和操作文本的强大工具。它提供了许多内置的方法来帮助我们处理字符串数据。本文将详细介绍`String`对象的一些常用属性和方法,并通过示例...

    String s = new String(” a “) 到底产生几个对象?

    上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。...

    String对象详解(附代码)

    对String创建几个对象代码详解,包括字符串相加,对象相加等等

    JAVA面试题解惑系列(二)——到底创建了几个String对象-JAVA程序员JAVA工程师面试必看.pdf,这是一份不错的文件

    当我们创建一个 String 对象时,JAVA 虚拟机(JVM)首先会在字符串池中查找是否已经存在了该对象,如果存在,则不再创建新的对象,直接返回已存在对象的引用;如果不存在,则创建新的对象,并将其加入字符串池中。 ...

    string对象的操作pdf

    ### string对象的操作详解 #### 一、string 类型简介及基本操作 在现代 C++ 编程中,`std::string` 是一个极其重要的类,它提供了丰富的接口用于字符串的处理,大大简化了字符串操作的复杂性。下面将详细介绍 `std...

    创建string对象过程的内存分配:

    ### 创建string对象过程的内存分配详解 #### 一、引言 在Java中,`String` 类是最常用的数据类型之一,用于表示不可变的字符序列。`String` 对象的创建涉及复杂的内存分配机制,特别是在Java虚拟机 (JVM) 的环境中...

    String对象的内存分析

    接下来,我们通过几个例子来具体分析`String`对象的内存分配: 1. `String a = "abc"; String b = "abc";` 在这种情况下,"abc"首先会被放入常量池中。当创建`a`和`b`时,它们都指向常量池中的同一个"abc"对象,...

    new String(\"abc\")创建几个对象的解释

    java面试的疑惑剪辑 博文链接:https://z-jq1015.iteye.com/blog/248599

    java 面对对象编程.pdf.zip

    面向对象基础 面向对象和面向过程的区别 成员变量与局部变量的区别 创建一个对象用什么运算符?对象实体与对象引用有何不同? 对象的相等和引用相等的区别 类的构造方法的作用是什么?...这句话创建了几个

    10个Java经典的String面试题

    创建了几个对象,为什么? 答案:创建了两个对象。"abc" 本身创建在常量池中,通过 new 又创建在堆中。String str = new String("abc"); 这一语句创建了两个对象:一个是常量池中的 "abc",另一个是堆中的 String ...

    JAVA面试题String产生了几个对象

    JAVA面试题String产生了几个对象 JAVA面试题String产生了几个对象?这个问题是很多Java开发者面试中常见的问题,本文将通过示例代码详细介绍String s = new String("xyz");产生了几个对象。 首先,需要了解Java中...

    包含string对象的结构与memset初始化操作

    `std::string`内部实现较为复杂,主要包括以下几个部分: 1. **成员变量**:`std::string`包含一系列成员变量,用于存储字符串的实际内容、迭代器等信息。 2. **迭代器管理**:`std::string`利用迭代器来访问和操作...

    JAVA【第5章:面向对象基础】_String类的常用方法.rar

    下面我们将详细讲解几个重要的`String`类的方法: 1. **构造方法**: - `String()`:创建一个空字符串。 - `String(char[] array)`:根据字符数组创建字符串。 - `String(String anotherString)`:复制已有字符...

    list转换成string数组

    本文将详细探讨这一转换过程,并通过几个具体的示例来帮助理解。 #### 一、基础知识 在深入讨论如何将列表转换为字符串数组之前,我们首先需要了解一些基本概念。 - **List**:`List`是Java集合框架的一部分,...

    正确使用String类的几点注意

    为了更好地理解和使用String类,本文将从几个关键方面入手,探讨如何更加高效、合理地使用String对象。 #### 一、初始化String对象 **1.1 直接赋值** 最常见的初始化方式是通过直接赋值的方式创建String对象: ``...

    Java问题宝典2012版

    这两行代码执行后,原始的String对象中的内容到底变了没有? 24 32、是否可以继承String类? 25 33、String s = new String("xyz");创建了几个String Object? 二者之间有什么区别? 25 34、String 和StringBuffer的...

    使用字符指针实现的一个简单string类

    在这个自定义的`string`类中,主要涉及以下几个知识点: 1. **字符指针**:字符指针是C/C++语言中处理字符串的基本工具。它是一个指向字符的指针,可以用来指向字符串的首字符。例如,`char *str`可以用来声明一个...

    自己写了个string类

    为了创建自己的`string`类,我们需要考虑以下几个关键知识点: 1. **内存管理**:字符串是由字符数组组成的,因此需要处理动态内存分配和释放。这通常涉及到构造函数、析构函数以及复制构造函数。在C++中,遵循深...

    Arduino项目开发 Strings_StringSubstring_StringSubstring.pdf

    - **新`String`对象**:`substring()`方法返回的是一个新的`String`对象,而不是原字符串的一部分。这意味着对新创建的子串进行修改不会影响原始字符串。 - **效率**:虽然`String`类方便了字符串操作,但过度使用...

Global site tag (gtag.js) - Google Analytics