-
Java Collections类操作集合详解
所属栏目:[语言] 日期:2022-07-11 热度:116
Collections 类是 Java 提供的一个操作 Set、List 和 Map 等集合的工具类。Collections 类提供了许多操作集合的静态方法,借助这些静态方法可以实现集合元素的排序、查找替换和复制等操作。下面介绍 Collections 类中操作集合的常用方法。 排序(正向和逆[详细]
-
Java使用Lambda表达式遍历Collection集合
所属栏目:[语言] 日期:2022-07-11 热度:136
Java 8 为 Iterable 接口新增了一个 forEach(Consumer action) 默认方法,该方法所需参数的类型是一个函数式接口,而 Iterable 接口是 Collection 接口的父接口,因此 Collection 集合也可直接调用该方法。 当程序调用 Iterable 的 forEach(Consumer actio[详细]
-
Java Iterator 迭代器 遍历Collection集合元素
所属栏目:[语言] 日期:2022-07-11 热度:191
Iterator(迭代器)是一个接口,它的作用就是遍历容器的所有元素,也是 Java 集合框架的成员,但它与 Collection 和 Map 系列的集合不一样,Collection 和 Map 系列集合主要用于盛装其他对象,而 Iterator 则主要用于遍历(即迭代访问)Collection 集合中[详细]
-
Java Set集合 HashSet和TreeSet类
所属栏目:[语言] 日期:2022-07-11 热度:54
Set 集合类似于一个罐子,程序可以依次把多个对象丢进Set 集合,而 Set 集合通常不能记住元素的添加顺序。也就是说 Set 集合中的对象不按特定的方式排序,只是简单地把对象加入集合。Set 集合中不能包含重复的对象,并且最多只允许包含一个 null 元素。 Se[详细]
-
Java的异常跟踪栈
所属栏目:[语言] 日期:2022-07-11 热度:194
异常对象的 printStackTrace() 方法用于打印异常的跟踪栈信息,根据 printStackTrace() 方法的输出结果,开发者可以找到异常的源头,并跟踪到异常一路触发的过程。 看下面用于测试 printStackTrace 的例子程序。 class SelfException extends RuntimeExcep[详细]
-
Java集合详解
所属栏目:[语言] 日期:2022-07-11 热度:76
在编程时,可以使用数组来保存多个对象,但数组长度不可变化,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的。如果需要保存数量变化的数据,数组就有点无能为力了。而且数组无法保存具有映射关系的数据,如成绩表为语文79,数学80,这种数[详细]
-
Java验证用户名和密码
所属栏目:[语言] 日期:2022-07-11 热度:135
假设在某仓库管理系统的登录界面中需要输入用户名和密码,其中用户名只能由 6~10 位数字组成,密码只能有 6 位,任何不符合用户名或者密码要求的情况都视为异常,并且需要捕获并处理该异常。 下面使用自定义异常类来完成对用户登录信息的验证功能,实现步[详细]
-
Java自定义异常
所属栏目:[语言] 日期:2022-07-11 热度:142
如果 Java 提供的内置异常类型不能满足程序设计的需求,这时我们可以自己设计 Java 类库或框架,其中包括异常类型。实现自定义异常类需要继承 Exception 类或其子类,如果自定义运行时异常类需继承 RuntimeException 类或其子类。 自定义异常的语法形式为[详细]
-
Java 7新特性 多异常捕获
所属栏目:[语言] 日期:2022-07-11 热度:68
前面我们学习的多 catch 代码块虽然客观上提高了程序的健壮性,但是也导致了程序代码量大大增加。如果有些异常种类不同,但捕获之后的处理是相同的,例如以下代码。 try{ // 可能会发生异常的语句 } catch (FileNotFoundException e) { // 调用方法methodA[详细]
-
Java throws和throw 声明和抛出异常
所属栏目:[语言] 日期:2022-07-11 热度:168
Java 中的异常处理除了捕获异常和处理异常之外,还包括声明异常和拋出异常。实现声明和抛出异常的关键字非常相似,它们是 throws 和 throw。可以通过 throws 关键字在方法上声明该方法要拋出的异常,然后在方法内部通过 throw 拋出异常对象。本节详细介绍[详细]
-
Java 9增强的自动资源管理
所属栏目:[语言] 日期:2022-07-11 热度:72
在学习《Java try catch finally语句》一节后我们可以发现,当程序使用 finally 块关闭资源时,程序会显得异常臃肿,例如以下代码。 public static void main(String[] args) { FileInputStream fis = null; try { fis = new FileInputStream(a.txt); } ca[详细]
-
Java try catch语句详解
所属栏目:[语言] 日期:2022-07-11 热度:132
在实际应用中,对于错误的处理是极其重要的,任何程序都很难做到百分百完美,程序中可能存在大量未知问题,所以程序开发时一定要对各种问题进行相应的处理,而 Java 提供的异常处理机制可以帮用户更好地解决这方面的问题。Java 的异常处理机制可以让程序具[详细]
-
Java try catch finally语句
所属栏目:[语言] 日期:2022-07-11 热度:151
在实际开发中,根据 try catch 语句的执行过程,try 语句块和 catch 语句块有可能不被完全执行,而有些处理代码则要求必须执行。例如,程序在 try 块里打开了一些物理资源(如数据库连接、网络连接和磁盘文件等),这些物理资源都必须显式回收。 Java的垃[详细]
-
Java异常处理机制及异常处理的基本结构
所属栏目:[语言] 日期:2022-07-11 热度:171
前面介绍了异常的产生是不可避免的,那么为了保证程序有效地执行,需要对发生的异常进行相应的处理。 Java 的异常处理通过 5 个关键字来实现:try、catch、throw、throws 和 finally。try catch 语句用于捕获并处理异常,finally 语句用于在任何情况下(除[详细]
-
Java中Error和Exception的异同
所属栏目:[语言] 日期:2022-07-11 热度:68
Error(错误)和 Exception(异常)都是 java.lang.Throwable 类的子类,在 Java 代码中只有继承了 Throwable 类的实例才能被 throw 或者 catch。 Exception 和 Error 体现了 Java 平台设计者对不同异常情况的分类,Exception 是程序正常运行过程中可以预[详细]
-
Java局部内部类
所属栏目:[语言] 日期:2022-07-11 热度:180
局部内部类是指在一个方法中定义的内部类。示例代码如下: public class Test { public void method() { class Inner { // 局部内部类 } } } 局部内部类有如下特点: 1)局部内部类与局部变量一样,不能使用访问控制修饰符(public、private 和 protected[详细]
-
Java匿名类 Java匿名内部类
所属栏目:[语言] 日期:2022-07-11 热度:91
匿名类是指没有类名的内部类,必须在创建时使用 new 语句来声明类。其语法形式如下: new 类或接口() { // 类的主体 }; 这种形式的 new 语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。使用匿名类可使代码更加简洁、紧凑,模[详细]
-
Java8新特性 Effectively final
所属栏目:[语言] 日期:2022-07-11 热度:128
Java 中局部内部类和匿名内部类访问的局部变量必须由 final 修饰,以保证内部类和外部类的数据一致性。但从 Java 8 开始,我们可以不加 final 修饰符,由系统默认添加,当然这在 Java 8 以前的版本是不允许的。Java 将这个功能称为 Effectively final 功能[详细]
-
Java抽象 abstract 类
所属栏目:[语言] 日期:2022-07-11 热度:165
Java 语言提供了两种类,分别为具体类和抽象类。前面学习接触的类都是具体类。这一节介绍一下抽象类。 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体[详细]
-
Java接口 Interface 的定义和实现
所属栏目:[语言] 日期:2022-07-11 热度:191
抽象类是从多个类中抽象出来的模板,如果将这种抽象进行的更彻底,则可以提炼出一种更加特殊的抽象类接口(Interface)。接口是 Java 中最重要的概念之一,它可以被理解为一种特殊的类,不同的是接口的成员没有执行体,是由全局常量和公共的抽象方法所组成[详细]
-
Java内部类是什么
所属栏目:[语言] 日期:2022-07-11 热度:172
在类内部可定义成员变量和方法,且在类内部也可以定义另一个类。如果在类 Outer 的内部再定义一个类 Inner,此时类 Inner 就称为内部类(或称为嵌套类),而类 Outer 则称为外部类(或称为宿主类)。 内部类可以很好地实现隐藏,一般的非内部类是不允许有[详细]
-
Java实例内部类
所属栏目:[语言] 日期:2022-07-11 热度:69
实例内部类是指没有用 static 修饰的内部类,有的地方也称为非静态内部类。示例代码如下: public class Outer { class Inner { // 实例内部类 } } 上述示例中的 Inner 类就是实例内部类。实例内部类有如下特点。 1)在外部类的静态方法和外部类以外的其他[详细]
-
Java静态内部类
所属栏目:[语言] 日期:2022-07-11 热度:195
静态内部类是指使用 static 修饰的内部类。示例代码如下: public class Outer { static class Inner { // 静态内部类 } } 上述示例中的 Inner 类就是静态内部类。静态内部类有如下特点。 1)在创建静态内部类的实例时,不需要创建外部类的实例。 public c[详细]
-
Java Lambda表达式的使用
所属栏目:[语言] 日期:2022-07-11 热度:185
在《Java Lambda表达式》和《Java Lambda表达式的3种简写方式》一节中我们了解了 Java Lambda 的概念并可以在匿名类的场合使用 Lambda 语法进行简单替换。本节主要介绍在 Java 中如何使用 Lambda 表达式。 作为参数使用Lambda表达式 Lambda 表达式一种常见[详细]
-
二叉排序树 二叉查找树 及C语言达成
所属栏目:[语言] 日期:2022-07-11 热度:119
前几节介绍的都是有关静态查找表的相关知识,从本节开始介绍另外一种查找表动态查找表。 动态查找表中做查找操作时,若查找成功可以对其进行删除;如果查找失败,即表中无该关键字,可以将该关键字插入到表中。 动态查找表的表示方式有多种,本节介绍一种[详细]
