《写给大忙人看的Java核心技术》(2016年1月第1版)一书中,有一些来自英文原版的错误,勘误表必不可少。

Append: 因为此书翻译错误极多,不推荐该中文版。

网上流传的一份中文勘误表错误百出(主要由于中文版的笔误导致),而英文版勘误表因为版本更新已经不具备参考意义。

所以找到了英文旧版勘误表的备份页面,译回中文:

Page 1

5个整型、2个浮点型和一个布尔型

改为:

4个整型、2个浮点型、字符型 char 和布尔型 boolean

Page 17

char next = (char)(‘J’ + 1); // 将75转换为’K’

改为:

int n=1;

char next = (char)(‘J’ + 1); // 将75转换为’K’

Page 18

>>以0替换前面的位,>>>将符号位拓展为最前面的位。

改为:

>>将符号位拓展为最前面的位,>>>以0替换前面的位。

Page 34

done = false;

改为:

done = true;

Page 34

if (n < 0) continue;

改为:

if (input < 0) continue;

Page 45

{3, 10, 11, 8}

改为:

{5, 10, 11, 8} 

Page 50

写个程序,读取0~65535之间的两个数,在short变量中存储,并计算它们的无符号之和、之差、之积、之商和余数,不要将它们转换为int类型。

改为:

写个程序,读取0~4294967295之间的两个数,在int变量中存储,并计算和显示它们的无符号之和、之差、之积、之商和余数,不要将它们转换为long类型。

Page 51

3 10 11 8

改为:

5 10 11 8

Page 77

作用域(三处)

改为:

访问权限(三处)

Page 82

private ArrayList<Member> members;

改为

private ArrayList<Member> members = new ArrayList<>();

Page 83

myFace.enroll(“fred”)

改为:

myFace.enroll(”Fred”)

Page 111

int difference = first.length() < second.length();

把 < 改为 -

Page 111

Runnable task = () -> { for (int i = 0; i < 1000; i++) doWork(); }

最后加一个分号

Page 120

 public class Application()

改为

public class Application

Page 124

return (x, y) -> comp.compare(x, y);

改为

return (x, y) -> comp.compare(y, x);

Page 126

最后一个 return 的 } 后面缺一个分号

Page 141

public class ConcurrentWorker extends Greeter

改为:

public class ConcurrentWorker extends Worker

Page 142

对象为null时也安全的Object.equals(obj, other)

改为

对象为null时也安全的Objects.equals(obj, other)

Page 155

public Modifier()

去掉 public

Page 167

obj.getDeclaredField(“salary”) 

改为

obj.getClass().getDeclaredField(“salary”)

Page 189

 ex.printStackTrace(out);

改为

ex.printStackTrace(new PrintStream(out));

Page 192

Logger.global

改为

Logger.getGlobal()

Page 209

printAll(employees, e -> e.toString().length() % 2 == 0);

改为

Predicate evenLength = e -> e.toString().length() % 2 == 0; printAll(employees, evenLength);

Page 215

public void add(String e)

改为

public boolean add(String e)

Page 215

public void add(Object e) {  add((String) e);  }

改为

public boolean add(Object e) {  return add((String) e);  }

Page 223/Page 230

public static V doWork … 

改为

public static V doWork …

Page 235

表格 7-2 中,第二和第四个all改为 addALL

Page 248

byte[] toByteArray[]

long[] toByteArray[]

改为

byte[] toByteArray()

long[] toLongArray()

Page 251

 那么Arrays.asList(a)将返回包含原数组元素的List

改为

那么Arrays.asList(a)将返回包含原数组元素的List<E>

Page 254

第6题,最后一句话改成:假设你有一个方法的类型是 Map>,而其他人使用 HashMap>来调用你的方法,会发生什么? 你可以用什么类型的参数?

Page 255以后

暂略。

Page 279

.filter(s -> s.length() < 10)

改为

.filter(s -> s.length() < 12)

Page 303

 2.当遇到一个文件或目录时

改为

 2.当遇到一个文件时

Page 316

Employee peter = new Employee(“Fred”, 90000);

Employee paul = new Manager(“Barney”, 105000);

改为:

Employee peter = new Employee(”Peter”, 90000);

Employee paul = new Manager(”Paul”, 105000);

Page 397

你可以调用这些方法:toNanos, toMillis, toSeconds, toMinutes … 

改为

你可以调用这些方法:toNanos, toMillis, getSeconds, toMinutes … 

Page 421

表13-4 指定locale的日期和时间格式化样式

改为

表13-4 日期和时间格式化样式

Page 444

下面介绍如何以Java语法调用JavaScript的Greeter类对象:

改为

下面介绍如何以Java语法调用JavaScript的SimpleGreeter类对象:

Jia © 2018 This post was published 371 days ago, content in the post may be inaccurate, even wrong now, please take risk yourself.

comments powered by Disqus

© 2017-2018 泊书湾

Powered by Hugo with theme Nuo.