节制,是比仁慈更高尚的品德。|

subeipo

园龄:1个月粉丝:0关注:0

📂Java
🔖Java
2025-01-18 10:15阅读: 3评论: 0推荐: 0

Java初学者笔记-04、异常与泛型

异常

异常代表程序出现的问题。
Error错误和Exception异常。
RuntimeException运行时异常。
编译时异常,提醒程序员这里的程序很容易出错。

异常的基础处理

  1. 抛出给上层调用者。
  2. 使用try-catch处理。

异常的处理方案

  1. 底层异常抛出,最外层捕获异常记录异常并响应合适信息。
  2. (少见)最外层捕获异常,并尝试重新修复。

异常的作用

  1. 异常是用来定位程序bug的关键信息。
  2. 可以作为方法内部的一种特殊返回值,以便通知上层调用者,方法的执行问题。

自定义异常

分为自定义运行时异常和自定义编译时异常。
自定义编译时异常提醒比较激进,编译时就报错,需要抛出。
自定义运行时异常提醒不激进。
开发中使用哪个异常:如果担心问题很容易出现,就定义成编译时异常;不想干扰别人,就定义成运行时异常。
现在的规范就是禁止大家使用编译时异常,尽量使用运行时异常

泛型

定义类、接口、方法时,同时声明了一个或多个类型变量。如<E>
泛型类、泛型接口、泛型方法,统称为泛型。

泛型的常用类型变量

一般用大写的ETKVE一般是元素类型,T是返回值类型,KV是键值类型。

泛型的作用

泛型提供了在编译阶段约束所能操作的数据类型,并自动进行类型检查。可以避免强制类型转换及其可能出现的异常。

泛型类和泛型接口

修饰符 class 类名<类型变量,类型变量...> {
}
修饰符 interface 接口名<类型变量,类型变量...> {
}

泛型方法

修饰符 <类型变量,类型变量...> 返回值类型 方法名(形参列表){
}

泛型的一些注意事项

  1. 自己通过<E>定义的才是泛型方法。使用E的不叫做泛型方法。
  2. 虽然Xiaomi和BYD是Car的子类,但是ArrayList<xiaomi>ArrayList<BYD>ArrayList<Car>没有半毛钱关系!

泛型的上下限

  1. 通配符是?,可以在使用泛型的时候代表一切类型。
  2. 泛型上限:? extends Car?能接收的必须是Car或者其子类。
  3. 泛型下限:? super Car?能接收的必须是Car或者其父类。

泛型支持的类型以及包装类

泛型不支持基本数据类型,只能支持对象类型(引用数据类型)。因为牵扯到泛型擦除。
泛型擦除:泛型工作在编译阶段,等编译后泛型就没用了,所以泛型在编译后都会被擦除。所有类型都会被恢复成Object类型。如果是Object o = 12; 很明显是不对的。

包装类

使用包装类,把基本数据类型包装成对象的类型。

基本数据类型 对应的包装类
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
boolean Boolean

包装类如何包装基本数据类型

  1. 过时方法:public Integer(int value)
  2. 现有方法:public static Integer valueOf(int i)
  3. 推荐方法:自动装箱。

自动装箱,自动拆箱

基本数据类型可以直接转换为包装类型;包装类型可以自动转换为基本数据类型。

Integer it = 100;
int i = it;

包装类的其他功能

  1. 可以把基本类型的数据转换成字符串类型。
public static String toString(double d)
public String toString)

同样的功能可以通过用+拼接空字符串实现。

  1. 可以把字符串类型的数值转换成数值本身对应的真实数据类型(有用)
public static int parseInt(String s)
public static Integer valueOf(String s)
int i = Integer.valueOf("456");// 转换和自动拆箱

本文作者:subeipo

本文链接:https://www.cnblogs.com/subeipo/p/18678091/java-chu-xue-zhe-bi-ji04-yi-chang-yu-fan-xing

版权声明:本作品采用署名—非商业性使用—相同方式共享 4.0 协议许可协议进行许可。

posted @   subeipo  阅读(3)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起