`
l_rui_ci
  • 浏览: 40229 次
  • 性别: Icon_minigender_1
  • 来自: 桂林
社区版块
存档分类
最新评论

面试题(String 对象)

    博客分类:
  • JAVA
阅读更多

package com.test;

public class stringTest {

/**
* @param args
*/
public static void main(String[] args) {

//这里生成两个对象,一个是"abc",一个是 new String("abc")
//原因:要new一个对象,首先要去string pool中看看有没有这个对象,如果有,就使用里面的
//那个对象,如果没有就放一个进去。
//执行下面这句代码的时候,string pool中没有"abc",所以在string pool中加入对象"acb",
//然后再new一个"abc",所以就有两个对象了
//s不是对象,它只是一个引用
String s = new String("abc");

//这里没有生成对象。
//原因:执行这句代码的时候,会先去string中找到上面已经放进去的"abc",所以不会再生成对象。
String s1 = "abc";

//这里生成一个对象:new String("abc")
//原因:执行这句代码的时候,会先去string中找到上面已经放进去的"abc",

//然后才new String("abc").
String s2 = new String("abc");

System.out.println(s == s1);//false
System.out.println(s == s2);//false
System.out.println(s1 == s2);//false

//intern()是返回String pool中的对象
System.out.println(s == s.intern());//false
System.out.println(s1 == s1.intern());//true
System.out.println(s1.intern() == s2.intern());//true


String hello = "hello";
String hel = "hel";
String lo = "lo";

//执行这句代码时,先执行"hel" + "lo",然后在String pool里找到了已经存在的"hello"
//所以返回true
System.out.println(hello == "hel" + "lo");//true
//执行这句代码时,先执行"hel" + lo,但生成的"hello"是存在堆中的,
//所以与String pool中的"hello"不同,返回false
System.out.println(hello == "hel" + lo);//false

}

}

分享到:
评论

相关推荐

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    │ Java面试题08.String.mp4 │ Java面试题09.讲一下java中的集合.mp4 │ Java面试题10.ArrayList LinkedList.mp4 │ Java面试题11.HashMap和HashTable的区别.mp4 │ Java面试题12.实现一个拷贝文件的类使用字节流...

    JAVA面试题解惑系列合集

    1.2 JAVA面试题解惑系列(二)——到底创建了几个String对象? 1.3 JAVA面试题解惑系列(三)——变量(属性)的覆盖 1.4 JAVA面试题解惑系列(四)——final、finally和finalize的区别 1.5 JAVA面试题解惑系列(五...

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

    主要介绍了JAVA面试题 String s = new String("xyz");产生了几个对象?,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    Java面试题08.String Java面试题09.讲一下java中的集合 Java面试题10.ArrayList 和LinkedList的区别 Java面试题11.HashMap和HashTable的区别 Java面试题12.实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试...

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

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

    java面试大全视频版

    Java面试题08.String Java面试题09.讲一下java中的集合 Java面试题10.ArrayList 和LinkedList的区别 Java面试题11.HashMap和HashTable的区别 Java面试题12.实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试...

    史上最全Java面试题目大集合

    整理了网上的一些java面试题目,很全很强大 面向对象的特征有哪些方面 1. 抽象:抽象就是忽略一个主题中与当前目标2. 无关的那些方面,3. 以便更充分地注意与当前目标4. 有关的方面。抽象并不5. 打算了解全部问题...

    java 面试题 资料

    java 面试题 资料 包括 面向对象的特征、String 和StringBuffer的区别、ArrayList,Vector, LinkedList的存储性能和特性、SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别等等

    涵盖了90%以上的面试题

    new String(“abc”)创建了几个对象 String变量做“+”运算时的编译优化 "=="和equals方法究竟有什么区别 String,StringBuffer,StringBuilder有什么区别 java中的数组是不是对象 数组初始化的方式有哪几种 length...

    学会这些java面试题让你吊打面试官

    学会这些java面试题让你吊打面试官!面试前看看,让你充满自信,不再惧怕面试官各种刁难。1.Java中内存管理及各区域内存储数据的生命周期? 2.JVM堆内存的分代管理以及垃圾回收流程? 3.面向对象三大特征及详细理解? 4...

    各大互联网公司常见java面试题

    答案参考:java常见面试题 1、面向对象的特点有哪些? 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 6、Java支持的...

    JAVA面试题最全集

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...

    java面试真题整理

    java开发岗企业常考面试题目 1.GC垃圾回收处理器,回收内存 托管资源: 非托管资源:手动释放资源 2.堆内存:new出来的 栈内存:基本数据类型的变量,方法的返回值,对象的引用(对象的引用地址) 3.static:存放...

    Java常见面试题208道.docx

    面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...

    java 经典面试题

    1、面向对象的特征有哪些方面 2 2、String是最基本的数据类型吗? 2 3、int 和 Integer 有什么区别 3 4、String 和StringBuffer的区别 3 5、运行时异常与一般异常有何异同? 3 6、说出Servlet的生命周期,并说出...

    Java面试题解惑系列

    2、到底创建了几个String对象;3、变量(属性)的覆盖;4、final,finally,finalize;5.传了值还是传了引用;6.String杂谈;7.日期与时间的处理;8.基本类型总结;9.继承,多态,重载,重写;10.多线程;11.运算符...

    Java面试题大全(doc)

    1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括...

    Java面试题.docx

    面试题目: 1-10题: 1、java中==和equals和hashCode的区别 2、int与integer的区别 3、String、StringBuffer、StringBuilder区别 4、什么是内部类?内部类的作用 5、进程和线程的区别 6、final,finally,...

    java--面试题大全(附答案

    而StringBuffer/StringBuilder类表示的字符串对象可以直接进行修改。StringBuilder是Java 5中引入的,它和StringBuffer的方法完全相同,区别在于它是在单线程环境下使用的,因为它的所有方面都没有被synchronized...

Global site tag (gtag.js) - Google Analytics