java 解惑3 string 字符串
来源:互联网 发布:端口查询 编辑:程序博客网 时间:2024/05/16 14:19
System.out.print("H"+"a"); System.out.print('H'+'a');
这两个程序输出的都是“Ha”吗?
不是第一个是“Ha”,第二个是"169"
因为第二个‘H’和‘a’都不是string,所以“+”执行的是加法而不是字符串连接。
如果也要活得“Ha”可以1.预置一个空字符串2.使用Stirng.valueof()3.使用StringBuffer
String letters = "ABC"; char[] numbers = {'1', '2', '3'}; System.out.println(letters + " easy as " + numbers);
这个得到的也不是“letters easy as 123”
虽然System.out.println(numbers) 会得到123
虽然String.valueof(numbers)会得到123
但是numbers.toString却不是。
或许Char[]类型可能应该复写toString()
<span style="white-space:pre"></span>final String pig = "length: 10";final String dog = "length: " + pig.length();System.out. println("Animals are equal: "+ pig == dog); System.out.println("Animals are equal: "+ (pig == dog));System.out.println("Animals are equal: "+pig.equals(dog));看这三个System.out.println()语句分别会获得什么结果。
第一个“false”.因为"+"的优先级要大于“==”,所以实际判定的是“Animals are equal length: 10”=="length: 10"
第二个“Animals are equal :false”因为==判断的是左右两边的对象引用是否引用到了相同的对象上。
如果pig和dog都是字符串常量的话,那么他们是同一个引用,但是不是。
第三个:"Animals are equal: true"。equals()方法是比较对象引用时应该用的方法,除非你比较的不是对象的值而是
队形的标识。
0 0
- java 解惑3 string 字符串
- JAVA解惑-字符串(-)
- JAVA解惑-字符串(二)
- java字符串解惑
- 【转】★Java String解惑
- JAVA面试题解惑系列——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈 转载自javaeye
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- JAVA面试题解惑系列(六)——字符串(String)杂谈
- 【转】#、##、#@在#define中的用法
- 商品销售系统
- 利用opencv的hog+svm实现细胞识别分类器
- Zookeeper:服务器和会话
- 2.Add Two Numbers
- java 解惑3 string 字符串
- java读取配置文件
- 从今天起,写一本关于LLVM的书----《深入理解LLVM》
- 3.Longest Substring Without Repeating Characters
- HMC5883L 电子指南针用树莓派进行磁场干扰过滤 校准
- POJ 3608 Bridge Across Islands(模板小汇)
- STL count_if() with lambda expression
- 1014. Waiting in Line (30)
- 深入C#中get与set的详解