`
elite20130514
  • 浏览: 47899 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于String str = new String("abc")创建几个对象的问题

阅读更多

String str = new String(“abc")到底创建几个对象的问题,之前在学校的时候也经常有类似考试的题目,哈哈,其实很多人还是不懂的吗?嘿嘿~

学过c++的可能理解更深刻或者说更容易理解一些,接下来细说一下吧!

String(String original) ,这是String 的api,在String str = new Sting("abc"),很多人都忽略了

String original = "abc",original是一个临时变量吧,哈哈!这下你懂了吗?!

0
3
分享到:
评论
2 楼 elite20130514 2013-09-27  
Tyrion 写道
这个问题想要深入了解的话建议楼主看看RednaxelaFX的这篇文章《请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧》

好的,一定拜读。
1 楼 Tyrion 2013-09-27  
这个问题想要深入了解的话建议楼主看看RednaxelaFX的这篇文章《请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧》

相关推荐

    String类创建对象问题

    ### String类创建对象问题 #### 一、String 类与常量池、字符串池的基本概念 在 Java 中,`String` 类并不属于八种基本数据类型之一,而是作为一个对象存在。这意味着 `String` 对象默认值为 `null`。尽管如此,`...

    Java String对象的经典问题

    因此,即使两个通过`new String()`创建的`String`对象具有相同的值,它们也会有不同的对象引用。 #### 三、String 比较 Java中有两种主要的方式来比较`String`对象: 1. **使用“==”运算符**:这种方法比较的是...

    String型的不可变性

    第一种形式用 new() 来创建对象的,它会存放在堆中,每调用一次就会创建一个新的对象。第二种形式是先在栈中创建一个对 String 类的对象引用变量 str,然后查找栈中有没有存放"abc",如果没有,则将"abc"存放进栈,...

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

    这行代码创建了一个 String 对象,并将其引用赋值给 str 变量。 2. 使用引号包含的文本创建 String 对象 Java 代码:String str = "abc"; 这行代码创建了一个 String 对象,并将其引用赋值给 str 变量。 3. 使用...

    Java String 字符串创建理解 equels和\"==\" 差异

    使用new关键字创建的字符串会在堆内存中创建一个新的对象,即使常量池中已有相同的字符串,也会生成新的实例。 3. **StringBuilder/StringBuffer**:`StringBuilder sb = new StringBuilder().append("Hello")....

    string 的创建

    即使 `str2` 使用了 `"abc"` 作为构造参数,但由于是通过 `new` 关键字创建的新对象,所以与 `str1` 不是指向同一个对象。 #### 四、总结 通过以上的分析可以得出以下结论: 1. **直接赋值方式**:这种创建方式...

    String对象的内存分析

    - `str3`和`str4`分别通过`new String()`创建,它们在堆中,因此`str3==str4`为`false`,创建了三个对象。 - `i`和`j`都是基本类型`int`,它们在栈中直接存储,所以`i==j`为`true`,只创建了一个对象。 - `l1`和`k1`...

    java语言程序设计课后习题标准答案.doc

    String str = new String("abc"); ``` **1.2 字符串比较** - **使用`==`操作符**: - 当两个字符串通过字面量创建时,它们共享同一内存区域(字符串常量池),因此使用`==`比较时结果为`true`。 - 如果至少有...

    java语言程序设计课后习题答案.doc

    String str1 = new String("abc"); String str2 = "abc"; System.out.println(str1==str2);//false String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1==str2);//false ...

    String类型两种不同实例化方式

    使用new创建String对象时,JVM不会去检查常量池中是否已有相同的字符串,而是直接在堆内存中创建一个新的String对象。这意味着即使两个使用new关键字创建的字符串内容完全相同,它们也是不同的对象,拥有不同的内存...

    JAVA_String

    然而,如果使用`new`关键字创建`String`,则会在堆中创建新对象,即使值相同: ```java String s3 = new String("abc"); String s4 = new String("abc"); System.out.println(s3 == s4); // 输出false,因为s3和s4...

    C#中String类常用方法汇总

    string str = "AbC"; string lowerStr = str.ToLower(); // "abc" string upperStr = str.ToUpper(); // "ABC" ``` 2. `.Trim()` `.Trim()` 方法用于移除字符串两端的空白字符,如空格、制表符等。 ```csharp...

    12基础篇之第十二(String的基本用法).docx

    2. 使用 `new String()` 关键字创建 `String` 对象时,会在堆中创建一个新对象,并且如果是通过字符串常量初始化,还会在常量池中创建一个相同的字符串对象。 3. 当比较两个由 `new String()` 创建的对象时,即使...

    通过查询数据库里的方法名称,来调用方法

    利用影射,通过查询数据库里的方法名称,来调用方法 SqlConnection conn = new ... asac.abc c = new asac.abc(); TextBox1.Text = c.abcd(dr); conn.Close(); // str1 = str1.Substring(0, str1.Length - 1);

    java语言程序设计课后习题答案解析.doc

    2. 使用`new`关键字创建新对象:`String str = new String("abc");` 当使用"=="来比较字符串时,它实际上是在检查两个字符串是否指向内存中的同一个引用,而不是比较它们的内容。这意味着,如果两个字符串变量都...

    10个Java经典的String面试题

    这一语句创建了两个对象:一个是常量池中的 "abc",另一个是堆中的 String 对象。 6. String、StringBuffer、StringBuilder 有什么区别? 答案:String、StringBuffer、StringBuilder 最大的不同是 String 不可变...

    C经常用到的几个截取字符串[文].pdf

    在C#编程中,字符串处理是常见的操作,尤其是在软件开发中。本文主要介绍了C#中常用的几种字符...在实际应用中,还需要注意字符串是不可变的,每次操作都会创建新的字符串对象,因此在处理大量字符串时要考虑性能影响。

    关于java的一个有趣的问题

    首先,我们来看看标题中提到的有趣问题:`String str=new String("abc");` 这行代码会创建几个String对象。答案是两个。`"abc"`在Java中是一个字面量,它在运行时会被自动放入字符串池。`new String("abc")`则会创建...

    Java中的堆和栈.pdf

    只有当使用`new`关键字创建对象时,才会在堆中创建新的实例,如`String str1 = new String("abc"); String str2 = new String("abc");`,这时`str1`和`str2`分别指向堆中独立的对象。 对于String类,它是不可变的,...

Global site tag (gtag.js) - Google Analytics