`

JAVA----- String方面的面试举例

    博客分类:
  • java
阅读更多
[img]

[/img]

 package com.test;

 public class StringTest

{

  public static void main(String[] args)

 {

(1)   String s=new String("abc");

  (2) String s1="abc";

  (3) String s2=new String("abc");

 (4) System.out.println(s==s1);

 (5) System.out.println(s==s2);

  (6) System.out.println(s1==s2); 

 }


执行到(1)时候,在内存中共分配几个对象?答案是2个i对象,但有的同学会错误的理解为

在堆里分配个abc这个对象,在栈里分配个s空间对象,实际上这是错误的。s只是一个实例,是一个存放对象引用的标签变量,像C语言里的指针一样,所以说JAVA是有指针的。实际上是有一个String pool的,叫做串池的,首先看String pool中有没有abc这个串,发现没有,所以就把abc放到String pool中了,然后new String("abc");这句就是在JAVA的堆内存中分配abc这个对象,所以是2个对象,而s指向堆里的abc串。

OK,

下面我们看(2),(2)就不分配对象了,因为s1直接指向,String pool中的abc了,因为String pool中已经存在了abc了。

(3)分配一个对象abc,s2指向这个新分配的对象.

(4)(5)(6)都为false,因为s,s1,s2指向了不同的对象



equals方法比的是内容,只要内容相同了,就返回true,而==比的是,是不是指向同一个对象
  • 大小: 15.8 KB
分享到:
评论

相关推荐

    java程序员面试题3---java华为面试题.

    在Java程序员面试中,了解和掌握相关知识点是至关重要的,因为这是评估候选人技术水平和专业素养的关键环节。以下是一些常见的Java面试题目及其解答: 1. **面向对象的特征有哪些方面?** - 封装:隐藏对象的属性...

    java最新面试宝典

    ### Java最新面试宝典知识点概览 #### 一、Java基础 **1.1 Collection和Map** - **知识点概述:** - 掌握`Collection`接口及其子接口`List`、`Set`的不同之处。 - 理解`Map`接口与`Collection`接口的主要区别。 ...

    Java面试宝典-经典

    82、能不能自己写个类,也叫java.lang.String? 57 83. Java代码查错 57 二. 算法与编程 61 1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt...

    Java面试宝典

    ### Java面试宝典知识点解析 #### 一、Java基础部分 **1.1 多个类在一个....以上内容为《Java面试宝典》中的部分知识点解析,涵盖了Java基础知识的多个方面,对于准备Java面试的求职者来说是非常有价值的复习资料。

    huawei面试题--java篇

    ### 华为Java面试知识点详解 #### 一、面向对象的特征 面向对象编程的核心特征主要包括以下几个方面: 1. **封装性**:封装是将数据和操作数据的方法绑定在一起作为一个整体,即对象。通过访问控制符(如private...

    java就业面试核心知识集合

    ### Java就业面试核心知识集合详解 #### 一、概述 本文档主要针对即将参加Java相关工作岗位面试的朋友,以及希望巩固和复习Java基础知识的学习者。通过本文档提供的面试问题集锦,帮助大家更好地准备面试,提高面试...

    2020年最新版--Java+最常见的+200++面试题汇总+答案总结汇总

    9. 举例说明Java中的静态导入和动态导入。 10. 什么是线程安全,哪些常见的Java集合是线程安全的? 【多线程】 多线程是Java的重要特性,面试中常常涉及。了解线程生命周期、同步机制(如synchronized, volatile, ...

    Java面试宝典2018

    ### Java面试宝典2018 - Java基础知识详解 #### 1. 在一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 在一个`.java`源文件中可以包含多个类,但是有以下限制: - **公共类(public class)**...

    java面试题题库详解

    ### Java面试题题库详解 #### 1. Java基本概念:String是什么?它与其它类型有何不同? **知识点概述:** - **String 类型的基本理解:** 在 Java 中,`String` 是一个不可变的对象,它代表了字符序列。 - **与...

    Java常用类String的面试题汇总(java面试题)

    在Java编程语言中,String是一个非常重要的类,它被广泛用于表示和处理字符串数据。...在面试中,回答这类问题时要注意准确、完整,并且结合Java类库的特点来举例说明,以显示出你对Java语言和类库的深入理解。

    Notes-JAVA面试题

    **常用属性和方法举例:** - **NotesSession:** - `CurrentDatabase`:返回当前会话的数据库。 - `UserName`:返回当前用户的用户名。 - **NotesUIWorkspace:** - `OpenWindow`:打开指定的窗口。 - `...

    2022年java华为面试题.docx

    【Java 华为面试题详解】 ...以上是对Java面试题中涉及的各个知识点的详细解释,这些内容涵盖了Java的基础概念、异常处理、集合框架、多线程、JSP以及网络通信等方面,对于理解和掌握Java编程具有重要意义。

    java华为面试题

    【Java 华为面试题详解】 在 Java 面试中,华为公司常常会考察候选人的基础理论知识、编程实践以及并发处理等能力。以下是对这些面试题的详细解析: 1. **面向对象的特征** - 封装:隐藏对象的属性和实现细节,仅...

    Java面试宝典2012版.pdf

    根据提供的文档信息,我们可以归纳并详细解释其中提及的Java知识点,这些内容对于准备Java面试的开发者来说非常有价值。下面是对每个问题的详细解答: ### 1. 一个".java"源文件中是否可以包括多个类(不是内部类)...

    2012-Java面试宝典new版

    ### Java面试宝典2012版重要知识点详解 #### 1. 多个类在一个`.java`文件中 **问题**: 在一个`.java`源文件中是否可以包括多个类(不是内部类)? **答案**: 可以,但一个`.java`文件中只能有一个公共类(public ...

    华为公司java程序员面试试题

    ### 华为公司Java程序员面试试题解析 #### 颈环节一:面向对象的基本概念 1. **面向对象的特征**: - 封装:将数据和操作这些数据的方法捆绑在一起,隐藏对象的属性和实现细节,仅对外提供公共访问方式。 - 继承...

    JAVA面试笔试题大汇总\125条常见的java面试笔试题大汇总

    Java面试和笔试题是检验开发者基础技能和深入理解的...这些题目涵盖了Java的基础语法、内存管理、企业级开发和容器服务等方面,是评估Java开发者技能的重要参考。在准备面试时,了解和熟练掌握这些知识点是至关重要的。

    java面试题技术类和人事面试问比较难回答的问题

    【Java 面试题技术类】 1. **2 乘以 8 等于几的最有效计算方法**:这是考察基础运算能力,答案是 16。 2. **String 不是最基本的数据类型**:Java 中的基本数据类型包括 byte、short、int、long、float、double、...

    华为java面试题

    ### 华为Java面试题知识点解析 #### 一、Java面向对象基础 1. **super()与this()的区别** - `super()`用于调用父类的构造方法或父类中的成员方法。 - `this()`用于调用本类中的其他构造方法。 2. **作用域public...

    java基础面试考察点.pdf

    Java 基础面试考察点是 Java 开发人员必须掌握的知识点,涵盖了 Java 基础知识、多线程、JVM 相关知识点等几个方面。 Java 基础知识点 1. Java 内部集合类:ArrayList 和 LinkedList 的区别,数据结构实现,扩容...

Global site tag (gtag.js) - Google Analytics