java11-2 String面试题

package cn.itcast_02;

/*
* String s = new String(“hello”)和String s = “hello”;的区别?
* 有。前者会创建2个对象,后者创建1个对象。
*
* ==:比较引用类型比较的是地址值是否相同
* equals:比较引用类型默认也是比较地址值是否相同,而String类重写了equals()方法,比较的是内容是否相同。
*/

public class StringDemo2 {
public static void main(String[] args) {
String s1 = new String("hello");
String s2 = "hello";

System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
}
}

答案: false true

package cn.itcast_02;
/*
* 看程序写结果
*/

 1  1 public class StringDemo3 {
 2  2 public static void main(String[] args) {
 3  3 String s1 = new String("hello");
 4  4 String s2 = new String("hello");
 5  5 System.out.println(s1 == s2);
 6  6 System.out.println(s1.equals(s2));
 7  7
 8  8 String s3 = new String("hello");
 9  9 String s4 = "hello";
10 10 System.out.println(s3 == s4);
11 11 System.out.println(s3.equals(s4));
12 12
13 13 String s5 = "hello";
14 14 String s6 = "hello";
15 15 System.out.println(s5 == s6);
16 16 System.out.println(s5.equals(s6));
17 17 }
18 18 }
答案:false true false true true true
23 package cn.itcast_02;
24 /*
25 * 看程序写结果
26 * 字符串如果是变量相加,先开空间,在拼接。
27 * 字符串如果是常量相加,是先加,然后在常量池找,如果有就直接返回,否则,就创建。
28 */
29 public class StringDemo4 {
30 public static void main(String[] args) {
31 String s1 = "hello";
32 String s2 = "world";
33 String s3 = "helloworld";
34 System.out.println(s3 == s1 + s2);
35 System.out.println(s3.equals((s1 + s2)));
36
37 System.out.println(s3 == "hello" + "world");
38
39 System.out.println(s3.equals("hello" + "world"));
40
41
42 }
43 }

  答案: false true false true
      System.out.println(s3 == "hello" + "world");
因为这里的hello和world是字符串,先进行合并再和s3来判断的
 通过反编译看源码,得知这里已经做好了处理。
System.out.println(s3 == "helloworld");
System.out.println(s3.equals("helloworld"));

时间: 2024-08-29 08:51:00

java11-2 String面试题的相关文章

jmap应用:一个经典String笔试题的验证

笔试题: String strA = new String("123123");这一行中创建了几个String对象?? 1 public class StringHeapCountTest { 2 3 public static void main(String[] args) { 4 String strA = new String("123123"); 5 System.out.println(1); 6 } 7 8 } 这个题主要考察应试者对java内存结构的

Java String 面试题以及答案

String是最常使用的Java类之一,整理的了一些重要的String知识分享给大家. 作为一个Java新手程序员,对String进行更深入的了解很有必要.如果你是有几年Java开发经验,可以根据目录选择性的阅读以下内容. 1.什么是String,它是什么数据类型? String是定义在 java.lang 包下的一个类.它不是基本数据类型. String是不可变的,JVM使用字符串池来存储所有的字符串对象. 2.创建String对象的不同方式有哪些? 和使用其他类一样通过new关键字来创建.

String面试题

String.intern()方法返回常量池中和String对象的值相同的常量的引用,如果常量池中没有该常量,则把该String对象的值加入常量池 String s1 = "programming"; String s2 = new String("programming"); String s3 = "program"; String s4 = "ming"; String s5 = "program"

Java基础知识强化32:String类之String的面试题

1.先看一个图: 2.String面试题: (1)题1: 1 package cn.itcast_02; 2 3 /* 4 * 看程序写结果 5 */ 6 public class StringDemo3 { 7 public static void main(String[] args) { 8 String s1 = new String("hello"); 9 String s2 = new String("hello"); 10 System.out.pri

(转)C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析

C/C++ 程序设计员应聘常见 面试笔试 试题深入剖析 http://www.nowcoder.com/discuss/1826?type=2&order=0&pos=23&page=1 1.引言  本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵.文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见. 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答.企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到

IOS面试题(经典)

1. 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?答案:Objecitve-C的重要特性是Runtime(运行时),在#import <objc/runtime.h> 下能看到相关的方法,用过objc_getClass()和class_copyMethodList()获取过私有API;使用objective-cMethod method1 = class_getInst

C/C++程序员应聘常见面试题深入剖析(1)

摘自:http://blog.csdn.net/zhoudengqing 1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵.文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见. 许多面试题看似简单,却需要深厚的基本功才能给出完美的解答.企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分.读者

高中生在线试题接口api

该试题接口包括语文,数学,英语,物理,化学,生物,地理,历史,政治等等科目. 语文又包括字形,字音,词语,语法,诗词,成语等40多种题型.数学,物理化学等科目也是信息全 面,不断完善.考题接口中有考题科目,来源,答案及其详解等.对于参考学生来说是一笔巨大的 财富,数据全面,稳定.是接口的首选. 1.试题目录 基本信息: URL:http://apis.haoservice.com/lifeservice/exam/Catalog 支持格式:json http请求方式:GET POST DEMO:

java11正式发布了,让我们的代码更完美

主题互动 Java11已经发布了,我们今天聊聊大家还停留在哪个版本呢?大家对于新版本的迅速的发布有什么想说的呢? 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以后支持的首个长期版本. 我们都知道,前面的几个版本都不是长期支持的,然而,现在发布这个最新的长期支持的版本还是非常有意义的. Java11也有许多的地方增加了新的功能,当然,也有一些功能删除了. 下面这是java版本的发布日期: java11也从下面的这些地方更新(下面是官网的截图) 因为Java1