a) 字符串加法:当+操作符的操作书中至少有一个String类型时,才会执行字符串连接操作。(并且,字符串的连接操作是从开始出现字符串的位置开始的,如:
System.out.println(“2+2=”+2+2);和System.out.println(2+2+ “2+2=”);分别输出的是2+2=2+2和42+2)
b) 字符数组与String的连接:字符数组与String直接连接结果是未知的, 字符数组用了Object的toString ,其输出时“返回一个包含该对象所属类的名字,@符号和对象散列码的无符号十六位整数。要将char数组转换成String,还是必须使用String.valueOf(char [])方法。
c) 字符串:括号的应用(优先级)和equals与==
d) 转义字符:Java对在字符串字面常量中的Unicode转义字符没有提供任何特殊处理(我认为相当于只是做编译前的预处理)
e) Unicode转义字符(\u)必须是合法的,即使在注释中时也一样。(事实上,由于\u转义字符的处理类似C中的预处理,所以可能引发很多不可预料的错误。因此,工具应该确保不将Windows文件名置于所生成的源文件注释中。因为Windows文件名中\u是很容易出现的。)
f) 注释中出现\u是一件很危险的事,将可能导致不易察觉的错误。如注释:
//Note: \u000A is Unicode representation of linefeed(LF),经过预处理它变成了两行(\000A 是换行符的Unicode编码)
//Note:
is Unicode representation of linefeed(LF)
这个错误验证了我之前关于预处理的说法,而且一般很难查找。
g) 应尽量避免使用Unicode转义字符
h) String(byte[])构造器:新String长度与byte数组长度未必相等,并且,当byte数组中的字符在缺省字符集中不存在时,此构造器的行为是不确定的。所以,使用byte数组构造String时,还可以制定字符集作为参数,并且最好都显式制定该字符集。
i) 块注释不能可靠的注释掉代码段,最好还是使用单行注释。
j) 获取类名:如类实例X,则可以用X.class.getName()获得。在使用不熟悉的类库时一定小心。
k) Java还支持标号,但是基本不用(标号在C常跟goto配合)v
分享到:
相关推荐
Java Puzzlers 中文版(Java解惑) Java 谜题 1——表达式谜题 谜题 1:奇数性 下面的方法意图确定它那唯一的参数是否是一个奇数。这个方法能够正确运转 吗? public static boolean isOdd(int i){ return i % 2 == 1...
《JAVA PUZZLERS》是一本深受欢迎的Java编程书籍,旨在揭示编程语言中的微妙陷阱和易犯错误,帮助开发者提升编程技能和理解。这本书以其独特的“谜题”形式,通过一系列精心设计的问题,引导读者探索Java语言的深奥...
谜题 40:不情愿的构造器 尽管在一个方法声明中看到一个 throws 子句是很常见的,但是在构造器的声明 中看到一个 throws 子句就很少见了。下面的程序就有这样的一个声明。那么, 它将打印出什么呢?...
本書包含了Java程式語言和核心函式庫中的各種謎題,任何具備使用Java經驗的讀者都可以看得懂,但是書裡有不少謎題的難度頗高,即便是對經驗豐富的Java程式設計師而言,都是一項挑戰,所以如果你解不出來,別覺得難過...
《Java Puzzlers》是一本深受Java开发者喜爱的书籍,由Joshua Bloch和Neal Gafter合著。这本书专门探讨了Java编程语言中容易让人迷惑的陷阱和常见误解,通过一系列精心设计的“puzzlers”(谜题)来揭示这些陷阱,并...
Java Puzzlers(韩语版) 讲述了java中容易混淆的问题。 值得一看!
java puzzlers 中文版
《Java Puzzlers Code:揭示编程之谜》 Java Puzzlers 是一套经典的Java编程难题集,由Joshua Bloch和Neal Gafter合著,旨在帮助开发者深化对Java语言特性的理解和避免常见的陷阱。这些“puzzlers”通过一系列精心...
在书中,作者会提出一些看似简单但实际上可能引发错误的代码示例,这些示例被称为“puzzlers”。每个puzzler都会引导读者思考为什么这段代码会以某种意想不到的方式运行,然后提供详细的解答,解释背后的语言原理。...
《Java Puzzlers Sampler》是由Java领域的权威专家Joshua Bloch和Neal Gafter共同编著的一本书,书中收录了一系列令人困惑、出乎意料的Java编程问题,旨在帮助开发者更好地理解和避免这些潜在的陷阱。书中的...
《Java+Puzzlers》是一本深受欢迎的Java编程书籍,它主要探讨了在Java编程中容易被忽视或误解的一些小细节。这本书分为中文和英文两个版本,同时附带源代码,帮助读者深入理解问题并进行实践。"Puzzlers"在这里指的...
4. **字符串操作**:Java的String类有许多方法,如concat、substring、equals等,它们在处理字符串时有不同的性能和逻辑特性,需要仔细理解和运用。 5. **集合框架**:Java的集合框架包括List、Set、Map等接口和...
综上所述,`java_puzzlers`中文版中的这两个谜题,揭示了Java编程中容易忽视的细节,包括取余运算的符号敏感性和浮点数计算的不精确性。通过深入理解这些问题及其解决方案,开发者可以编写更加健壮和准确的代码。
JAVA解惑 中文和英文 Like many books, this one had a long gestation period. We've collected Java puzzles for as long as we've worked with the platform: since mid-1996, in case you're curious. In early...
5. **IO流**:文件操作、字节流、字符流、缓冲流、对象序列化等。 6. **多线程**:线程的创建、同步、通信,以及Thread和Runnable接口的使用。 7. **反射机制**:运行时动态加载类、获取类信息、调用方法和构造器等...
根据提供的文件信息,“Java解惑 清晰版带书签”这一标题暗示这是一本深入探讨Java编程语言中常见问题及解决方案的专业书籍。该书由《Effective Java》的作者所著,因此我们可以推断出这本书将包含许多实用的Java...
Java™ Puzzlers: Traps, Pitfalls, and Corner Cases.chm,英文版本,chm 格式,大小 1 Mb,作者:Joshua Bloch、Neal Gafter。 内容预览: Chapter 1. Introduction Chapter 2. Expressive Puzzlers Puzzle 1: ...
这本书的标题《Java Puzzlers: Traps, Pitfalls, and Corner Cases》揭示了其内容核心——解决Java编程语言中的陷阱、缺陷和边缘案例。在描述中提到,本书旨在帮助读者对Java编程中看似棘手的问题进行讲解,从而使...
《JavaPuzzlers》这本书由Josh Bloch和Bob Lee共同编写,是一本深入探讨Java编程语言中各种陷阱、怪癖及未被广泛认知特性的书籍。书中通过一系列精心设计的编程谜题,揭示了Java中那些容易导致错误或令人困惑的行为...