Java成功的一個關鍵原因是它的敏捷性。自從最初的1.0版發(fā)布以來,Java不斷地進行完善以適應編程環(huán)境和開發(fā)人員編程方式的變化。最重要的是,Java不僅僅是在跟隨潮流,更是在幫助創(chuàng)造潮流。Java能夠適應計算機世界快速變化的能力,是它一直并且仍將如此成功的關鍵因素。本書針對Java SE 8做了全面更新,介紹了如何開發(fā)、編譯、調試和運行Java程序。暢銷書作者Herbert Schildt撰寫過眾多經典的計算機編程圖書。在本書中,他詳盡地講解了Java語言,包括Java的語法、關鍵字和基本編程原則,以及Java API庫的主要內容。另外,本書還介紹了Java Bean、servlet、applet和Swing,并通過真實案例展示了Java語言的應用。本書對Java SE 8的新特性也進行了深入講解,包括lambda表達式、流庫和默認接口方法,書末介紹的JavaFX知識為深入學習打下了堅實基礎。
Java8編程參考官方教程目錄
第Ⅰ部分 Java 語言
第1章 Java的歷史和演變
1.1 Java的家世
1.1.1 現(xiàn)代編程語言的誕生:C語言
1.1.2 C++:下一個階段
1.1.3 Java出現(xiàn)的時機已經成熟
1.2 Java的誕生
1.3 Java改變Internet的方式
1.3.1 Java
1.3.2 安全性
1.3.3 可移植性
1.4 Java的魔力:字節(jié)碼
1.5 servlet:服務器端的
1.6 Java的關鍵特性
1.6.1 簡單性
1.6.2 面向對象
1.6.3 健壯性
1.6.4 多線程
1.6.5 體系結構中立
1.6.6 解釋執(zhí)行和高性能
1.6.7 分布式
1.6.8 動態(tài)性
1.7 Java的演變歷程
1.8 Java
1.9 文化革新
第2章 Java綜述
2.1 面向對象編程
2.1.1 兩種范式
2.1.2 抽象
2.1.3 OOP三原則
2.2第一個簡單程序
2.2.1 輸入程序
2.2.2 編譯程序
2.2.3 深入分析第一個示例程序
2.3第二個簡短程序
2.4 兩種控制語句
2.4.1 if語句
2.4.2 for循環(huán)
2.5 使用代碼塊
2.6 詞匯問題
2.6.1 空白符
2.6.2 標識符
2.6.3 字面值
2.6.4 注釋
2.6.5 分隔符
2.6.6 Java關鍵字
2.7 Java類庫
第3章 數(shù)據(jù)類型、變量和數(shù)組
3.1 Java是強類型化的語言
3.2 基本類型
3.3 整型
3.3.1
3.3.2
3.3.
3.3.4
3.4 浮點型
3.4.1
3.4.2
3.5 字符型
3.6 布爾型
3.7 深入分析字面值
3.7.1 整型字面值
3.7.2 浮點型字面值
3.7.3 布爾型字面值
3.7.4 字符型字面值
3.7.5 字符串字面值
3.8 變量
3.8.1 變量的聲明
3.8.2 動態(tài)初始化
3.8.3 變量的作用域和生存期
3.9 類型轉換和強制類型轉換
3.9.1 Java的自動類型轉換
3.9.2 強制轉換不兼容的類型
3.10 表達式中的自動類型提升
3.11 數(shù)組
3.11.1 一維數(shù)組
3.11.2 多維數(shù)組
3.11.3 另一種數(shù)組聲明語法
3.12 關于字符串的一些說明
3.13 向C/C++程序員提供指針方面的說明
第4章 運算符
4.1 算術運算符
4.1.1 基本算術運算符
4.1.2 求模運算符
4.1.3 算術與賦值復合運算符
4.1.4 自增與自減運算符
4.2 位運算符
4.2.1 位邏輯運算符
4.2.2 左移
4.2.3 右移
4.2.4 無符號右移
4.2.5 位運算符與賦值的組合
4.3 關系運算符
4.4 布爾邏輯運算符
4.5 賦值運算符
4.6 “?”運算符
4.7 運算符的優(yōu)先級
4.8 使用圓括號
第5章 控制語句
5.1 Java的選擇語句
19.18.2 java.util.fun
19.18.3 java.uti
19.18.4 java.util.lo
19.18.5 java.util.
19.18.6 java.util.
19.18.7 java.uti
19.18.8 java.util.s
19.18.9 java.uti
第20章 輸入/輸出:探究ja
20.1 I/O類和接口
20.2 File類
20.2.1 目錄
20.2.2 使用FilenameFilter接口
20.2.3 listFiles()方法
20.2.4 創(chuàng)建目錄
20.3 AutoCloseable、Closeable和Flushable接口
20.4 I/O異常
20.5 關閉流的兩種方式
20.6 流類
20.7 字節(jié)流
20.7.1 InputStream類
20.7.2 OutputStream類
20.7.3 FileInputStream類
20.7.4 FileOutputStream類
20.7.5 ByteArrayInputStream類
20.7.6 ByteArrayOutputStream類
20.7.7 過濾的字節(jié)流
20.7.8 緩沖的字節(jié)流
20.7.9 SequenceInputStream類
20.7.10 PrintStream類
20.7.11 DataOutputStream和DataInputStream類
20.7.12 RandomAccessFile類
20.8 字符流
20.8.1 Reader類
20.8.2 Writer類
20.8.3 FileReader類
20.8.4 FileWriter類
20.8.5 CharArrayReader類
20.8.6 CharArrayWriter類
20.8.7 BufferedReader類
20.8.8 BufferedWriter類
20.8.9 PushbackReader類
20.8.10 PrintWriter類
20.9 Console類
20.10 串行化
20.10.1 Serializable接口
20.10.2 Externalizable接口
20.10.3 ObjectOutput接口
20.10.4 ObjectOutputStream類
20.10.5 ObjectInput接口
20.10.6 ObjectInputStream類
20.10.7 串行化示例
20.11 流的優(yōu)點
第21章 探究
21.1 NIO類
21.2 NIO的基礎知識
21.2.1 緩沖區(qū)
21.2.2 通道
21.2.3 字符集和選擇器
21.3 JDK 7對NIO的增強
21.3.1 Path接口
21.3.2 Files類
21.3.3 Path接口
21.3.4 文件屬性接口
21.3.5 FileSystem、FileSystems和FileStore類
21.4 使用NIO系統(tǒng)
21.4.1 為基于通道的I/O使用
21.4.2 為基于流的I/O使用
21.4.3 為路徑和文件系統(tǒng)操作使用
21.5 JDK 7之前基于通道的例子
21.5.1 讀文件(JDK 7之前
21.5.2 寫文件(JDK 7之前
第22章 聯(lián)網(wǎng)
22.1 聯(lián)網(wǎng)的基礎知識
22.2 聯(lián)網(wǎng)類和接口
22.3 InetAddress類
22.3.1 工廠方法
22.3.2 實例方法
22.4 Inet4Address類和Inet6Address類
22.5 TCP/IP客戶端套接字
22.6 URL類
22.7 URLConnection類
22.8 HttpURLConnection類
22.9 URI類
22.10 c
22.11 TCP/IP服務器套接字
22.12 數(shù)據(jù)報
22.12.1 DatagramSocket類
22.12.2 DatagramPacket類
22.12.3 數(shù)據(jù)報示例
第23章 Applet類
23.1 applet的兩種類型
23.2 applet的基礎知識
23.3 applet的架構
23.4 applet的骨架
23.4.1 applet的初始化和終止
23.4.2 重寫update()方法
23.5 簡單的applet顯示方法
23.6 請求重畫
23.7 使用狀態(tài)欄窗口
23.8 HTML APPLET標記
23.9 向applet傳遞參數(shù)
23.10 getDocumentBase()和getCodeB
23.11 AppletContext接口和showDocument()方法
23.12 AudioClip接口
23.13 AppletStub接口
23.14 向控制臺輸出
第24章 事件處理
24.1 兩種事件處理機制
24.2 委托事件模型
24.2.1 事件
24.2.2 事件源
24.2.3 事件監(jiān)聽器
24.3 事件類
24.3.1 ActionEvent類
24.3.2 AdjustmentEvent類
24.3.3 ComponentEvent類
24.3.4 ContainerEvent類
24.3.5 FocusEvent類
24.3.6 InputEvent類
24.3.7 ItemEvent類
24.3.8 KeyEvent類
24.3.9 MouseEvent類
24.3.10 MouseWheelEvent類
24.3.11 TextEvent類
24.3.12 WindowEvent類
24.4 事件源
24.5 事件監(jiān)聽器接口
24.5.1 ActionListener接口
24.5.2 AdjustmentListener接口
24.5.3 ComponentListener接口
24.5.4 ContainerListener接口
24.5.5 FocusListener接口
24.5.6 ItemListener接口
24.5.7 KeyListener接口
24.5.8 MouseListener接口
24.5.9 MouseMotionListener接口
24.5.10 MouseWheelListener接口
24.5.11 TextListener接口
24.5.12 WindowFocusListener接口
24.5.13 WindowListener接口
24.6 使用委托事件模型
24.6.1 處理鼠標事件
24.6.2 處理鍵盤事件
24.7 適配器類
24.8 內部類
第25章 AWT介紹:使用窗口、圖形和文本
25.1 AWT類
25.2 窗口基本元素
25.2.1 Component類
25.2.2 Container類
25.2.3 Panel類
25.2.4 Window類
25.2.5 Frame類
25.2.6 Canvas類
25.3 使用框架窗口
25.3.1 設置窗口的尺寸
25.3.2 隱藏和顯示窗口
25.3.3 設置窗口的標題
25.3.4 關閉框架窗口
25.4 在基于AWT的applet中創(chuàng)建框架窗口
25.5 創(chuàng)建基于窗口的程序
25.6 在窗口中顯示信息
25.7 使用圖形
25.7.1 繪制直線
25.7.2 繪制矩形
25.7.3 繪制橢圓和圓
25.7.4 繪制弧形
25.7.5 繪制多邊形
25.7.6 演示繪制方法
25.7.7 改變圖形的大小
25.8 使用顏色
25.8.1 Color類的方法
25.8.2 設置當前圖形的顏色
25.8.3 一個演示顏色的a
25.9 設置繪圖模式
25.10 使用字體
25.10.1 確定可用字體
25.10.2 創(chuàng)建和選擇字體
25.10.3 獲取字體信息
25.11 使用FontMetrics管理文本輸出
25.11.1 顯示多行文本
25.11.2 居中顯示文本
25.11.3 對齊多行文本
第26章 使用AWT控件、布局管理器和菜單
26.1 AWT控件的基礎知識
26.1.1 添加和移除控件
26.1.2 響應控件
26.1.3 HeadlessException異常
26.2 使用標簽
26.3 使用命令按鈕
26.4 使用復選框
26.5 使用復選框組
26.6 使用下拉列表
26.7 使用列表框
26.8 管理滾動條
26.9 使用Text
26.10 使用Tex
26.11 理解布局管理器
26.11.1 FlowLayout布局管理器
26.11.2 BorderLayout布局管理器
26.11.3 使用I
26.11.4 GridLayout布局管理器
26.11.5 CardLayout布局管理器
26.11.6 GridBagLayout布局管理器
26.12 菜單欄和菜單
26.13 對話框
26.14 FileDialog類
26.15 關于重寫paint()方法
第27章 圖像
27.1 文件格式
27.2 圖像基礎:創(chuàng)建、加載與顯示
27.2.1 創(chuàng)建Image對象
27.2.2 加載圖像
27.2.3 顯示圖像
27.3 ImageObserver接口
27.4 雙緩沖
27.5 MediaTracker類
27.6 ImageProducer接口
27.7 ImageConsumer接口
27.8 ImageFilter類
27.8.1 CropImageFilter類
27.8.2 RGBImageFilter類
27.9 其他圖像類
第28章 并發(fā)實用工具
28.1 并發(fā)API包
28.1.1 java.util.concurrent包
28.1.2 java.util.concurrent.atomic包
28.1.3 java.util.concurrent.locks包
28.2 使用同步對象
28.2.1 Semaphore類
28.2.2 CountDownLatch類
28.2.3 CyclicBarrier類
28.2.4 Exchanger類
28.2.5 Phaser類
28.3 使用執(zhí)行器
28.3.1 一個簡單的執(zhí)行器示例
28.3.2 使用Callable和Future接口
28.4 TimeUnit枚舉
28.5 并發(fā)集合
28.6 鎖
28.7 原子操作
28.8 通過Fork/Join框架進行并行編程
28.8.1 主要的Fork/Join類
28.8.2 分而治之的策略
28.8.3 一個簡單的Fork/Join示例
28.8.4 理解并行級別帶來的影響
28.8.5 一個使用RecursiveTask[V]的例子
28.8.6 異步執(zhí)行任務
28.8.7 取消任務
28.8.8 確定任務的完成狀態(tài)
28.8.9 重新啟動任務
28.8.10 深入研究
28.8.11 關于Fork/Join框架的一些提示
28.9 并發(fā)實用工具與Java傳統(tǒng)方式的比較
第29章 流
29.1 流的基礎知識
29.1.1 流接口
29.1.2 如何獲得流
29.1.3 一個簡單的流示例
29.2 縮減操作
29.3 使用并行流
29.4 映射
29.5 收集
29.6 迭代器和流
29.6.1 對流使用迭代器
29.6.2 使用Splite
29.7 流API中更多值得探究的地方
第30章 正則表達式和其他包
30.1 核心Java API包
30.2 正則表達式處理
30.2.1 Pattern類
30.2.2 Matcher類
30.2.3 正則表達式的語法
30.2.4 演示模式匹配
30.2.5 模式匹配的兩個選項
30.2.6 探究正則表達式
30.3 反射
30.4 遠程方法調用
30.5 使用java.text格式化日期和時間
30.5.1 DateFormat類
30.5.2 SimpleDateFormat類
30.6 JDK 8新增的時間和日?
30.6.1 時間和日期的基礎知識
30.6.2 格式化日期和時間
30.6.3 解析日期和時間字符串
30.7 探究java.time包的其他方面
第Ⅲ部分 使用Swing進行 GUI編程
第31章 Swing簡介
31.1 Swing的起源
31.2 Swing以AWT為基礎
31.3 兩個關鍵的Swing特性
31.3.1 Swing組件是輕量級的
31.3.2 Swing支持可插入外觀
31.4 MVC連接
31.5 組件與容器
31.5.1 組件
31.5.2 容器
31.5.3 頂級容器窗格
31.6 Swing包
31.7 一個簡單的Swing應用程序
31.8 事件處理
31.9 創(chuàng)建Swing ap
31.10 在Swing中繪圖
31.10.1 繪圖的基礎知識
31.10.2 計算可繪制區(qū)域
31.10.3 一個繪圖示例
第32章 探究S
32.1 JLabel與Image
32.2 JTextF
32.3 Swing按鈕
32.3.1 JBu
32.3.2 JToggleBu
32.3.3 復選框
32.3.4 單選按鈕
32.4 JTabbed
32.5 JScroll
32.6 J
32.7 JComb
32.8 樹
32.9 JT
第33章 Swing菜單簡介
33.1 菜單的基礎知識
33.2 JMenuBar、JMenu和JMenuItem概述
33.2.1 JMen
33.2.2 J
33.2.3 JMenu
33.3 創(chuàng)建主菜單
33.4 向菜單項添加助記符和加速鍵
33.5 向菜單項添加圖片和工具提示
33.6 使用JRadioButtonMenuItem和JCheckBoxMenu
33.7 創(chuàng)建彈出菜單
33.8 創(chuàng)建工具欄
33.9 使用動作
33.10 完整演示MenuDemo程序
33.11 繼續(xù)探究S
第Ⅳ部分 使用JavaFX進行GUI編程
第34章 JavaFX GUI編程簡介
34.1 JavaFX的基礎概念
34.1.1 JavaFX包
34.1.2 Stage和Scene類
34.1.3 節(jié)點和場景圖
34.1.4 布局
34.1.5 Application類和生命周期方法
34.1.6 啟動JavaFX應用程序
34.2 JavaFX應用程序的骨架
34.3 編譯和運行JavaFX程序
34.4 應用程序線程
34.5 一個簡單的JavaFX控件:L
34.6 使用按鈕和事件
34.6.1 事件的基礎知識
34.6.2 按鈕控件簡介
34.6.3 演示事件處理和按鈕
34.7 直接在畫布上繪制
第35章 探究JavaFX控件
35.1 使用Image和Image
35.1.1 向標簽添加圖片
35.1.2 在按鈕中使用圖片
35.2 ToggleBu
35.3 RadioBu
35.3.1 處理開關組中的變化事件
35.3.2 處理單選按鈕的另一種方式
35.4 Chec
35.5 List
35.5.1 ListView的滾動條
35.5.2 啟用多項選擇
35.6 Comb
35.7 TextF
35.8 Scroll
35.9 Tree
35.10 效果和變換簡介
35.10.1 效果
35.10.2 變換
35.10.3 演示效果和變換
35.11 添加工具提示
35.12 禁用控件
第36章 JavaFX菜單簡介
36.1 菜單的基礎知識
36.2 MenuBar、Menu和MenuItem概述
36.2.1 Men
36.2.2
36.2.3 Menu
36.3 創(chuàng)建主菜單
36.4 向菜單項添加助記符和加速鍵
36.5 向菜單項添加圖片
36.6 使用RadioMenuItem和CheckMenu
36.7 創(chuàng)建上下文菜單
36.8 創(chuàng)建工具欄
36.9 完整的MenuDemo程序
36.10 繼續(xù)探究Ja
第Ⅴ部分 應用
第37章 Java
37.1 Java Bean是什么
37.2 Java Bean的優(yōu)勢
37.3 內省
37.3.1 屬性的設計模式
37.3.2 事件的設計模式
37.3.3 方法與設計模式
37.3.4 使用BeanInfo接口
37.4 綁定屬性與約束屬性
37.5 持久性
37.6 定制器
37.7 Java Bean
37.7.1 Introspector類
37.7.2 PropertyDescriptor類
37.7.3 EventSetDescriptor類
37.7.4 MethodDescriptor類
37.8 一個Bean示例
第38章 ser
38.1 背景
38.2 servelet的生命周期
38.3 servlet開發(fā)選項
38.4 使用To
38.5 一個簡單的ser
38.5.1 創(chuàng)建和編譯servlet源代碼
38.5.2 啟動To
38.5.3 啟動Web瀏覽器并請求ser
38.6 Servlet
38.7 javax.servlet包
38.7.1 Servlet接口
38.7.2 ServletConfig接口
38.7.3 ServletContext接口
38.7.4 ServletRequest接口
38.7.5 ServletResponse接口
38.7.6 GenericServlet類
38.7.7 ServletInputStream類
38.7.8 ServletOutputStream類
38.7.9 servlet異常類
38.8 讀取servlet參數(shù)
38.9 javax.servlet.http包
38.9.1 HttpServletRequest接口
38.9.2 HttpServletResponse接口
38.9.3 HttpSession接口
38.9.4 Cookie類
38.9.5 HttpServlet類
38.10 處理HTTP請求和響應
38.10.1 處理HTTP GET請求
38.10.2 處理HTTP POST請求
38.11 使用co
38.12 會話跟蹤
附錄 使用Java的文檔注釋
5.1.1 if語句
5.1.2 switch語句
5.2 迭代語句
5.2.1 while語句
5.2.2 do-while語句
5.2.3 for語句
5.2.4 for循環(huán)的for-each版本
5.2.5 嵌套的循環(huán)
5.3 跳轉語句
5.3.1 使用break語句
5.3.2 使用continue語句
5.3.3 return語句
第6章 類
6.1 類的基礎知識
6.1.1 類的一般形式
6.1.2 一個簡單的類
6.2 聲明對象
6.3 為對象引用變量賦值
6.4 方法
6.4.1 為Box類添加方法
6.4.2 返回值
6.4.3 添加帶參數(shù)的方法
6.5 構造函數(shù)
6.6 this關鍵字
6.7 垃圾回收
6.8 finalize()方法
6.9 堆棧類
第7章 方法和類的深入分析
7.1 重載方法
7.2 將對象用作參數(shù)
7.3 參數(shù)傳遞的深入分析
7.4 返回對象
7.5 遞歸
7.6 訪問控制
7.7 理解st
7.8 final介紹
7.9 重新審視數(shù)組
7.10 嵌套類和內部類
7.11 String類介紹
7.12 使用命令行參數(shù)
7.13 varargs:可變長度參數(shù)
7.13.1 重載varargs方法
7.13.2 varargs方法與模糊性
第8章 繼承
8.1 繼承的基礎知識
8.1.1 成員訪問與繼承
8.1.2 一個更實際的例子
8.1.3 超類變量可以引用子類對象
8.2 使用super關鍵字
8.2.1 使用super調用超類的構造函數(shù)
8.2.2 super的另一種用法
8.3 創(chuàng)建多級繼承層次
8.4 構造函數(shù)的調用時機
8.5 方法重寫
8.6 動態(tài)方法調度
8.6.1 重寫方法的目的
8.6.2 應用方法重寫
8.7 使用抽象類
8.8 在繼承中使用final關鍵字
8.8.1 使用final關鍵字阻止重寫
8.8.2 使用final關鍵字阻止繼承
8.9 Object類
第9章 包和接口
9.1 包
9.1.1 定義包
9.1.2 包查找與CLAS
9.1.3 一個簡短的包示例
9.2 訪問保護
9.3 導入包
9.4 接口
9.4.1 定義接口
9.4.2 實現(xiàn)接口
9.4.3 嵌套接口
9.4.4 應用接口
9.4.5 接口中的變量
9.4.6 接口可以擴展
9.5 默認接口方法
9.5.1 默認方法的基礎知識
9.5.2 一個更加實用的例子
9.5.3 多級繼承的問題
9.6 在接口中使用靜態(tài)方法
9.7 關于包和接口的最后說明
第10章 異常處理
10.1 異常處理的基礎知識
10.2 異常類型
10.3 未捕獲的異常
10.4 使用try和
10.5 多條catch子句
10.6 嵌套的try語句
10.7
10.8 t
10.9 fi
10.10 Java的內置異常
10.11 創(chuàng)建自己的異常子類
10.12 鏈式異常
10.13 3個近期添加的異常特性
10.14 使用異常
第11章 多線程編程
11.1 Java線程模型
11.1.1 線程優(yōu)先級
11.1.2 同步
11.1.3 消息傳遞
11.1.4 Thread類和Runnable接口
11.2 主線程
11.3 創(chuàng)建線程
11.3.1 實現(xiàn)Runnable接口
11.3.2 擴展Thread類
11.3.3 選擇一種創(chuàng)建方式
11.4 創(chuàng)建多個線程
11.5 使用isAlive()和join()方法
11.6 線程優(yōu)先級
11.7 同步
11.7.1 使用同步方法
11.7.2 synchronized語句
11.8 線程間通信
11.9 掛起、恢復與停止線程
11.10 獲取線程的狀態(tài)
11.11 使用多線程
第12章 枚舉、自動裝箱與注解(元數(shù)據(jù)
12.1 枚舉
12.1.1 枚舉的基礎知識
12.1.2 values()和valueOf()方法
12.1.3 Java枚舉是類類型
12.1.4 枚舉繼承自Enum類
12.1.5 另一個枚舉示例
12.2 類型封裝器
12.2.1 Character封裝器
12.2.2 Boolean封裝器
12.2.3 數(shù)值類型封裝器
12.3 自動裝箱
12.3.1 自動裝箱與方法
12.3.2 表達式中發(fā)生的自動裝箱/拆箱
12.3.3 布爾型和字符型數(shù)值的自動裝箱/拆箱
12.3.4 自動裝箱/拆箱有助于防止錯誤
12.3.5 一些警告
12.4 注解(元數(shù)據(jù)
12.4.1 注解的基礎知識
12.4.2 指定保留策略
12.4.3 在運行時使用反射獲取注解
12.4.4 AnnotatedElement接口
12.4.5 使用默認值
12.4.6 標記注解
12.4.7 單成員注解
12.4.8 內置注解
12.5 類型注解
12.6 重復注解
第13章 I/O、applet以及其他主題
13.1 I/O的基礎知識
13.1.1 流
13.1.2 字節(jié)流和字符流
13.1.3 預定義流
13.2 讀取控制臺輸入
13.2.1 讀取字符
13.2.2 讀取字符串
13.3 向控制臺寫輸出
13.4 PrintWriter類
13.5 讀/寫文件
13.6 自動關閉文件
13.7 applet的基礎知識
13.8 transient和volatile修飾符
13.9 使用instanceof運算符
13.10 str
13.11 本地方法
13.12 使用a
13.13 靜態(tài)導入
13.14 通過this()調用重載的構造函數(shù)
13.15 緊湊API配置文件
第14章 泛型
14.1 什么是泛型
14.2 一個簡單的泛型示例
14.2.1 泛型只使用引用類型
14.2.2 基于不同類型參數(shù)的泛型類型是不同的
14.2.3 泛型提升類型安全性的原理
14.3 帶兩個類型參數(shù)的泛型類
14.4 泛型類的一般形式
14.5 有界類型
14.6 使用通配符參數(shù)
14.7 創(chuàng)建泛型方法
14.8 泛型接口
14.9 原始類型與遺留代碼
14.10 泛型類層次
14.10.1 使用泛型超類
14.10.2 泛型子類
14.10.3 泛型層次中的運行時類型比較
14.10.4 強制轉換
14.10.5 重寫泛型類的方法
14.11 泛型的類型推斷
14.12 擦除
14.13 模糊性錯誤
14.14 使用泛型的一些限制
14.14.1 不能實例化類型參數(shù)
14.14.2 對靜態(tài)成員的一些限制
14.14.3 對泛型數(shù)組的一些限制
14.14.4 對泛型異常的限制
第15章 lambda表達式
15.1 lambda表達式簡介
15.1.1 lambda表達式的基礎知識
15.1.2 函數(shù)式接口
15.1.3 幾個lambda表達式示例
15.2 塊lambda表達式
15.3 泛型函數(shù)式接口
15.4 作為參數(shù)傳遞lambda表達式
15.5 lambda表達式與異常
15.6 lambda表達式和變量捕獲
15.7 方法引用
15.7.1 靜態(tài)方法的方法引用
15.7.2 實例方法的方法引用
15.7.3 泛型中的方法引用
15.8 構造函數(shù)引用
15.9 預定義的函數(shù)式接口
第Ⅱ部分 Java庫
第16章 字符串處理
16.1 String類的構造函數(shù)
16.2 字符串的長度
16.3 特殊的字符串操作
16.3.1 字符串字面值
16.3.2 字符串連接
16.3.3 字符串和其他數(shù)據(jù)類型的連接
16.3.4 字符串轉換和toString()方法
16.4 提取字符
16.4.1 cha
16.4.2 getCh
16.4.3 getBy
16.4.4 toCharAr
16.5 比較字符串
16.5.1 equals()和equalsIgnoreC
16.5.2 regionMatc
16.5.3 startsWith()和endsW
16.5.4 equals()與
16.5.5 compar
16.6 查找字符串
16.7 修改字符串
16.7.1 substr
16.7.2 con
16.7.3 repl
16.7.4 t
16.8 使用valueOf()轉換數(shù)據(jù)
16.9 改變字符串中字符的大小寫
16.10 連接字符串
16.11 其他String方法
16.12 StringBuffer類
16.12.1 StringBuffer類的構造函數(shù)
16.12.2 length()與capac
16.12.3 ensureCapac
16.12.4 setLen
16.12.5 charAt()與setCha
16.12.6 getCh
16.12.7 app
16.12.8 ins
16.12.9 reve
16.12.10 delete()與deleteCha
16.12.11 repl
16.12.12 substr
16.12.13 其他StringBuffer方法
16.13 StringBuilder類
第17章 探究java
17.1 基本類型封裝器
17.1.1 N
17.1.2 Double與
17.1.3 理解isInfinite()與is
17.1.4 Byte、Short、Integer?
17.1.5 Char
17.1.6 對Unicode代碼點的附加支持
17.1.7 Bo
17.2 Void類
17.3 Process類
17.4 Runtime類
17.4.1 內存管理
17.4.2 執(zhí)行其他程序
17.5 ProcessBuilder類
17.6 System類
17.6.1 使用currentTimeMillis()計時程序的執(zhí)行
17.6.2 使用arrayc
17.6.3 環(huán)境屬性
17.7 Object類
17.8 使用clone()方法和Cloneable接口
17.9 Class類
17.10 ClassLoader類
17.11 Math類
17.11.1 三角函數(shù)
17.11.2 指數(shù)函數(shù)
17.11.3 舍入函數(shù)
17.11.4 其他數(shù)學方法
17.12 StrictMath類
17.13 Compiler類
17.14 Thread類、ThreadGroup類和Runnable接口
17.14.1 Runnable接口
17.14.2 Thread類
17.14.3 ThreadGroup類
17.15 ThreadLocal和
InheritableThreadLocal類
17.16 Package類
17.17 RuntimePermission類
17.18 Throwable類
17.19 SecurityManager類
17.20 StackTraceElement類
17.21 Enum類
17.22 ClassValue類
17.23 CharSequence接口
17.24 Comparable接口
17.25 Appendable接口
17.26 Iterable接口
17.27 Readable接口
17.28 AutoCloseable接口
17.29 Thread.UncaughtExceptionHandler接口
17.30 java.lang子包
17.30.1 java.lang.annot
17.30.2 java.lang.instr
17.30.3 java.lang.i
17.30.4 java.lang.manag
17.30.5 java.lan
17.30.6 java.lang.re
第18章 java.util第1部分:集合框架
18.1 集合概述
18.2 JDK 5對集合框架的修改
18.2.1 泛型從根本上改變了集合框架
18.2.2 自動裝箱使得使用基本類型更加容易
18.2.3 for-each風格的for循環(huán)
18.3 集合接口
18.3.1 Collection接口
18.3.2 List接口
18.3.3 Set接口
18.3.4 SortedSet接口
18.3.5 NavigableSet接口
18.3.6 Queue接口
18.3.7 Deque接口
18.4 集合類
18.4.1 ArrayList類
18.4.2 LinkedList類
18.4.3 HashSet類
18.4.4 LinkedHashSet類
18.4.5 TreeSet類
18.4.6 PriorityQueue類
18.4.7 ArrayDeque類
18.4.8 EnumSet類
18.5 通過迭代器訪問集合
18.5.1 使用迭代器
18.5.2 使用for-each循環(huán)替代迭代器
18.6 Splite
18.7 在集合中存儲用戶定義的類
18.8 RandomAccess接口
18.9 使用映射
18.9.1 映射接口
18.9.2 映射類
18.10 比較器
18.11 集合算法
18.12 Arrays類
18.13 遺留的類和接口
18.13.1 Enumeration接口
18.13.2 Vector類
18.13.3 Stack類
18.13.4 Dictionary類
18.13.5 Hashtable類
18.13.6 Properties類
18.13.7 使用store()和l
18.14 集合小結
第19章 java.util第2部分:更多實用工具類
19.1 StringTokenizer類
19.2 BitSet類
19.3 Optional、OptionalDouble、OptionalInt和Optiona
19.4 Date類
19.5 Calendar類
19.6 GregorianCalendar類
19.7 TimeZone類
19.8 SimpleTimeZone類
19.9 Locale類
19.10 Random類
19.11 Observable類
19.11.1 Observer接口
19.11.2 Observer示例
19.12 Timer和TimerTask類
19.13 Currency類
19.14 Formatter類
19.14.1 Formatter類的構造函數(shù)
19.14.2 Formatter類的方法
19.14.3 格式化的基礎知識
19.14.4 格式化字符串和字符
19.14.5 格式化數(shù)字
19.14.6 格式化時間和日期
19.14.7 %n和%%說明符
19.14.8 指定最小字段寬度
19.14.9 指定精度
19.14.10 使用格式標志
19.14.11 對齊輸出
19.14.12 空格、“+”、“0”以及“(”標志
19.14.13 逗號標志
19.14.14 “#”標志
19.14.15 大寫選項
19.14.16 使用參數(shù)索引
19.14.17 關閉Formatter對象
19.14.18 printf()方法
19.15 Scanner類
19.15.1 Scanner類的構造函數(shù)
19.15.2 掃描的基礎知識
19.15.3 一些Scanner示例
19.15.4 設置定界符
19.15.5 其他Scanner特性
19.16 ResourceBundle、ListResourceBundle和
19.17 其他實用工具類和接口
19.18 java.util子包
19.18.1 java.util.concurrent、java.util.concurrent.atomic和 java.util.concurrent.
- PC官方版
- 安卓官方手機版
- IOS官方手機版