当前位置: 首页> 财经> 产业 > Java高级特性:泛型、集合框架和异常处理

Java高级特性:泛型、集合框架和异常处理

时间:2025/7/9 16:35:26来源:https://blog.csdn.net/u010986241/article/details/139338878 浏览次数:0次

Java高级特性:泛型、集合框架和异常处理

引言

在前两篇文章中,我们探讨了Java的基本语法和面向对象编程(OOP)特性。在本篇文章中,我们将深入研究Java的一些高级特性,包括泛型、集合框架和异常处理。这些特性可以帮助你编写更加灵活和健壮的代码。

泛型(Generics)

泛型允许类、接口和方法操作任意类型(类型参数),从而提高代码的重用性和类型安全性。

泛型类

定义一个泛型类时,可以使用类型参数,例如 T

public class Box<T> {private T content;public void setContent(T content) {this.content = content;}public T getContent() {return content;}public static void main(String[] args) {Box<String> stringBox = new Box<>();stringBox.setContent("Hello");System.out.println("String Box: " + stringBox.getContent());Box<Integer> intBox = new Box<>();intBox.setContent(123);System.out.println("Integer Box: " + intBox.getContent());}
}

泛型方法

泛型方法允许方法在被调用时指定类型参数:

public class GenericMethodExample {public static <T> void printArray(T[] array) {for (T element : array) {System.out.println(element);}}public static void main(String[] args) {Integer[] intArray = {1, 2, 3, 4, 5};String[] strArray = {"A", "B", "C"};System.out.println("Integer Array:");printArray(intArray);System.out.println("String Array:");printArray(strArray);}
}

有界类型参数

你可以限制泛型类型参数的范围:

public class BoundedTypeParameterExample {public static <T extends Number> void printNumber(T number) {System.out.println("Number: " + number);}public static void main(String[] args) {printNumber(123);  // IntegerprintNumber(45.67);  // Double// printNumber("Hello");  // 编译错误}
}

集合框架(Collections Framework)

Java集合框架提供了一组类和接口来存储和操作数据元素。常用的集合包括ListSetMap

List

List是一个有序的集合,允许重复元素。常用的实现类有ArrayListLinkedList

import java.util.ArrayList;
import java.util.List;public class ListExample {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("Apple");list.add("Banana");list.add("Orange");System.out.println("List: " + list);for (String fruit : list) {System.out.println("Fruit: " + fruit);}list.remove("Banana");System.out.println("List after removal: " + list);}
}

Set

Set是一个不允许重复元素的集合。常用的实现类有HashSetTreeSet

import java.util.HashSet;
import java.util.Set;public class SetExample {public static void main(String[] args) {Set<String> set = new HashSet<>();set.add("Apple");set.add("Banana");set.add("Orange");set.add("Apple");  // 重复元素System.out.println("Set: " + set);for (String fruit : set) {System.out.println("Fruit: " + fruit);}set.remove("Banana");System.out.println("Set after removal: " + set);}
}

Map

Map是一个键值对集合。常用的实现类有HashMapTreeMap

import java.util.HashMap;
import java.util.Map;public class MapExample {public static void main(String[] args) {Map<String, Integer> map = new HashMap<>();map.put("Apple", 1);map.put("Banana", 2);map.put("Orange", 3);System.out.println("Map: " + map);for (Map.Entry<String, Integer> entry : map.entrySet()) {System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());}map.remove("Banana");System.out.println("Map after removal: " + map);}
}

异常处理(Exception Handling)

异常处理是Java中的一个重要机制,用于处理程序执行过程中发生的异常情况。Java提供了多种异常类以及try-catch语句来处理异常。

try-catch 语句

使用try-catch语句可以捕获并处理异常:

public class ExceptionHandlingExample {public static void main(String[] args) {try {int result = divide(10, 0);System.out.println("Result: " + result);} catch (ArithmeticException e) {System.out.println("Exception caught: " + e.getMessage());}}public static int divide(int a, int b) {return a / b;}
}

多个catch块

你可以使用多个catch块来捕获不同类型的异常:

public class MultipleCatchExample {public static void main(String[] args) {try {int[] numbers = {1, 2, 3};System.out.println(numbers[5]);} catch (ArrayIndexOutOfBoundsException e) {System.out.println("Array index out of bounds: " + e.getMessage());} catch (Exception e) {System.out.println("Exception caught: " + e.getMessage());}}
}

finally块

finally块中的代码总是会执行,无论是否发生异常:

public class FinallyBlockExample {public static void main(String[] args) {try {int result = divide(10, 0);System.out.println("Result: " + result);} catch (ArithmeticException e) {System.out.println("Exception caught: " + e.getMessage());} finally {System.out.println("This is the finally block.");}}public static int divide(int a, int b) {return a / b;}
}

自定义异常

你可以创建自己的异常类:

class CustomException extends Exception {public CustomException(String message) {super(message);}
}public class CustomExceptionExample {public static void main(String[] args) {try {checkAge(15);} catch (CustomException e) {System.out.println("Exception caught: " + e.getMessage());}}public static void checkAge(int age) throws CustomException {if (age < 18) {throw new CustomException("Age must be at least 18");}}
}

总结

在本篇文章中,我们深入探讨了Java的高级特性,包括泛型、集合框架和异常处理。泛型使得代码更加灵活和类型安全,集合框架提供了丰富的数据结构,而异常处理则帮助我们编写健壮的代码。掌握这些特性将极大地提升你的Java编程技能。

在接下来的文章中,我们将继续探索Java的更多高级特性和实际应用,包括并发编程、文件I/O和网络编程等。希望你能继续关注并享受学习的过程!

如果你有任何问题或需要进一步的解释,请在评论区留言。我们将尽快回复。感谢阅读!

关键字:Java高级特性:泛型、集合框架和异常处理

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: