-
java异常
父类:Throwable 1.Error 2.Exception
查看全部 -
Map中通过containsKey()方法和containsValue()方法来判断键和值是否存在
Map 中对对象进行了 Key 标记,通过 get(Key)可以取得对应的对象
Map 的containsValue()方法的参数是 Object 对象,因为Map 的 Value 值是对象元素
Map 的containsKey()方法取得 Map 映射的 Key 值
List中的contains()方法借Map中的containsValue()方法调用equals()方法来进行比较。所以要重写Hashcode和equals方法查看全部 -
HashMap中的entry对象是无序排列的
Ke值和value值都可以为空 但是一个hashmap只能有一个KEY值为null的映射(ley值不可重复)
查看全部 -
ForEach()方法,循环遍历,打印输出。
set 中只能用foreach 和iterator 方法。而不能用List中的get()方法。
因为set是无序的。list是有序的
set中的元素是不可重复的,添加某个对象,无论添加多少次,最终只会保留一个该对象(的引用),并且,保留的是第一次添加的那一个
set中可以添加空对象null的
查看全部 -
Calendar 类的应用
Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar 类进行时间和日期的处理。
java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();
那么如何使用 Calendar 获取年、月、日、时间等信息呢?我们来看下面的代码:
其中,调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。
Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。如下所示:
运行结果:
查看全部 -
接口--set接口
查看全部 -
异常处理在实际应用中的经验与总结
1、处理运行异常时,采用逻辑去合理规避同时辅助try-catch处理
2、在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
3、对于不确定的代码,也可以加上try-catch,处理潜在的异常
4、尽量去处理异常,切忌只是简单的调用printStackTrace()去打印输出
5、具体如何处理异常,要根据不同的业务需求和异常类型决定
6、尽量添加finally语句块去释放占用的资源
查看全部 -
Throwable
查看全部 -
Throwrable
Error异常
1.虚拟机错误 VirtualMachineError
2.线程死锁 ThreadDeath
Exception异常 编码、环境、用户操作输入出现问题
1,非检查异常(RuntimeException)也叫运行时异常,会被虚拟机自动不捕获并抛出
(1)空指针异常(NullPointerException)
(2)数组下标越界异常(ArrayIndexOutOfBoundsException)
(3)类型装换异常(ClassCastException)
(4)算术异常(ArithmeticException)
2,检查异常 需要手动添加捕获处理语句
(1)文件异常IOException
(2)SQL异常SQLException
查看全部 -
HashMap类
查看全部 -
Map接口
Map接口提供了一中映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value
Map中的键值对以Entry类型的对象实例形式存在
键(key值)不可重复,value值可以
每个键最多只能映射到一个值
Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法
Map支持泛型,形式如Map<k,y>k:key值的类型 v:value的值的类型
查看全部 -
课程代码:
package com.imooc.test; import java.util.Scanner; public class Book { /** * 定义字符串数组保存图书信息 * 提示用户输入,分别按"书名"和"图书序号"查找图书 * 根据输入信息进行适当的异常处理 * 如果输入类型错误,抛出"错误命令异常",并提示重新输入 * 如果书名不存在,抛出"图书不存在异常",并提示重新输入 * 如果图书序号超过字符串数组范围,抛出"图书不存在异常",并提示重新输入 */ public static void main(String[] args) { Book chooseBook = new Book(); chooseBook.startWrite(); } public void startWrite() { System.out.println("输入命令,1:按书名,2:按序号"); Scanner input1 = new Scanner(System.in); int num1 = input1.nextInt(); try { checkBookType(num1); } catch (Exception e) { System.out.println("发生未知错误1"); } try { if (num1 == 1) { System.out.println("请输入图书名称"); Scanner input2 = new Scanner(System.in); String book2 = input2.nextLine(); checkBookName(book2); } else if (num1 == 2) { System.out.println("请输入图书序号"); Scanner input3 = new Scanner(System.in); int num3 = input3.nextInt(); checkBookLength(num3); } } catch (Exception e) { System.out.println("发生未知错误"); } } public void checkBookType(int chooseNum) { try { if (chooseNum == 1 || chooseNum == 2) { System.out.println("您选择的是:" + chooseNum); } else { throw new Exception("错误命令异常,请重新输入"); } } catch (Exception e) { System.out.println("错误命令异常,请重新输入"); startWrite(); } } public void checkBookName(String bookName) { String[] books = {"语文", "数学", "英语"}; for (int i = 0; i < books.length; i++) { try { if (bookName == books[i]) { System.out.println("找到了书:" + bookName); } else { throw new Exception(); } } catch (Exception e) { System.out.println("图书不存在"); } } } public void checkBookLength(int bookNum) { String[] books = {"语文", "数学", "英语"}; int len = books.length; try { if (bookNum < len + 1) { System.out.println("找到了书:" + books[bookNum - 1]); } else { throw new Exception(); } } catch (Exception e) { System.out.println("图书序号超过字符串数组长度,图书不存在"); } } }
查看全部 -
集合框架:Java
查看全部 -
基本类型使用泛型必须使用包装类
查看全部 -
list 接口:list arraylist接口由数组组成
查看全部
举报