关于Java中String的几个小问题
来源:互联网 发布:淘宝嘉年华报名流程 编辑:程序博客网 时间:2024/06/05 09:33
字符串String在Java中会经常用到,在这里介绍几个与String有关的面试题。
第一个:
String s1="CSDN";String s2="CSDN";System.out.println(s1.equals(s2));System.out.println(s1==s2);
在这里,第一个输出结果为true,第二个也为true。这里,当执行s1这句时,先会去字符串缓冲池中去找是否包含这个字符串,如果没有,就会创建一个;当执行s2这句时也会去池中去找是否包含这个字符串,如果有,就直接引用。由于equals()比较的是内容是否相同,所以第一个为true;"=="比较的是地址是否相同,因为指向同一个池,所以也为true。
第二个:
String s3=new String("CSDN");String s4=new String("CSDN");System.out.println(s3.equals(s4));System.out.println(s3==s4);
在这里,第一个输出为true,第二个输出为false。由于是new出来的String,所以是在缓冲池的外面创建的内容,所以s3是在池外面的,同s4也是在吃外面的。所以s3和s4的地址不同,但是因为内容相同,所以,第一个为true,第二个为false。
第三个:
String s1="CSDN";s1.substring(2);s1.concat("123");System.out.println(s1);String str=new String("CSDN");System.out.println(s1==str);
这里第一个输出为CSDN,第二个为false。因为String类的对象是常量,不会改变,该类任何方法都不会改变自己的值。这就是为什么截取字符串再合并后还是原来的字符串的原因。
总共就这三个小题目,算是个人的笔记,望指正批评。
- 关于Java中String的几个小问题
- Java中关于String的一点小问题!
- 关于String的几个有意思的小问题
- Java中关于String需要明确的几个知识点
- 关于java中string.length()的问题
- Java中关于final关键字的几个小知识点
- 关于string创建几个对象的问题
- 关于String创建几个对象的问题
- 关于几个小问题
- 关于几个计算机系统的小问题
- 关于wince的几个小问题
- 关于索引使用的几个小问题
- 关于PHP的几个小问题
- 关于索引的几个小问题
- 关于Qt的几个小问题
- 关于NASM的几个小问题
- 链表中关于环的几个小问题
- 关于mysql的几个小问题
- 据说是G开头公司的面试题【输入a1,a2,...,an,b1,b2,...,bn】
- IrrLicht入门基础
- 关于Socket通讯时通讯协议的制定
- 【数据结构与算法】二叉树递归与非递归遍历(附完整源码)
- TOJ 3349 Counting Divisor / 素数筛选法
- 关于Java中String的几个小问题
- linux内核树的建立 (转)
- CenOS 6.4下安装stardict和qstardict
- poj 1112 染色+DP
- 图形学 Direct3D的3D模型处理1
- opengl 教程(12) 投影矩阵
- java矩阵包
- opengl 教程(13) 摄像机坐标系
- 升级iOS7心得