String 基础面试题

Posted satisfysmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String 基础面试题相关的知识,希望对你有一定的参考价值。

1.     JAVA 中字符串内容得到比较用的是 专门的比较方法 equals 。 == 比较的是字符串的引用是否相同。

2.     查看一下代码运行的结果

 1 public class Demo {
 2            public static void main(String[] args) {
 3             // new 创建的对象是存储在堆中的,每次都会创造一个对象,所以  h1==h2 false   
 4             String h1=new String("hello");
 5             String h2=new String("hello");
 6             System.out.println(h1==h2);
 7             // String a="abc" 是  从 String 常量池中拿对象,a 是实体就是 abc 
 8             // String b="abc" JVM 会拿b 在String 常量池中找是否存在内容相同的字符串对象
 9             // 如果不存在,则在常量池中创建一个对象b,否则不添加,所以 a==b  true
10             String a="abc";
11             String b="abc";
12             System.out.println(a==b);
13             //JAVA 常量优化机制,String 是 final 修饰的,为常量,编译的时候c 已经为 abc 所以 a==c  true
14             String c="ab"+"c";
15             System.out.println(a==c);
16             // JAVA 语言中提供了对字符串串联符号,("+")子符串串联是通过StringBuilder以及append 方法实现的
17             // 不是同一个对象   a==d3  false
18             String d1="ab";
19             String d2="c";
20             String d3=d1+d2;
21             System.out.println(a==d3);
22             // 结果是
23             //false
24             //true
25             //true
26             //false    
27         }      
28 }

 

以上是关于String 基础面试题的主要内容,如果未能解决你的问题,请参考以下文章

Java 基础:从面试题看String

Java面试题|String属于基础的数据类型吗?

前端面试题整理---JS基础

前端面试题之手写promise

2019年最新50道java基础部分面试题

java基础面试题