码迷,mamicode.com
首页 > 其他好文 > 详细

String 基础面试题

时间:2018-10-18 01:21:40      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:lse   div   实体   比较   col   内容   system   equal   对象   

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 基础面试题

标签:lse   div   实体   比较   col   内容   system   equal   对象   

原文地址:https://www.cnblogs.com/satisfysmy/p/9807331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!