### JAVA笔记知识点详解 #### 一、Java.util.Random 类与随机数生成 在Java中,`java.util.Random` 类提供了一种方式来生成各种类型的随机数。这些随机数可以是整数、浮点数等基本数据类型。下面详细介绍如何使用 `Random` 类。 **1.1 创建 `Random` 对象** ```java Random rand = new Random(); // 使用默认种子创建随机数生成器 ``` **1.2 生成不同类型的随机数** - **整数 (Integers)** ```java int i = rand.nextInt(); // 获取一个随机整数 int n = 10; i = rand.nextInt(n + 1); // 获取一个介于 0 和 n 之间的随机整数 ``` - **字节数组 (Byte Arrays)** ```java byte[] bytes = new byte[5]; rand.nextBytes(bytes); // 填充一个随机字节数组 ``` - **布尔值 (Booleans)** ```java boolean b = rand.nextBoolean(); // 获取一个随机布尔值 ``` - **长整型 (Longs)** ```java long l = rand.nextLong(); // 获取一个随机长整数 ``` - **浮点数 (Floats)** ```java float f = rand.nextFloat(); // 获取一个介于 0.0 和 1.0 之间的随机浮点数 ``` - **双精度浮点数 (Doubles)** ```java double d = rand.nextDouble(); // 获取一个介于 0.0 和 1.0 之间的随机双精度浮点数 ``` **1.3 重复性随机数生成** 为了使随机数生成具有可重复性,可以使用相同的种子来创建两个 `Random` 对象: ```java long seed = rand.nextLong(); rand = new Random(seed); Random rand2 = new Random(seed); ``` 这确保了 `rand` 和 `rand2` 生成的随机序列相同。 #### 二、对象类型转换 在Java中,将一个 `Object` 类型的对象转换为特定类型(如 `Boolean`)可以通过类型强制转换来实现。以下代码演示了如何将一个 `Object` 类型的返回值转换为 `Boolean` 类型: ```java public boolean addAction(final LoginData_DWR loginData_DWR, final UserData_DWR userData_DWR) { TransactionTemplate transactionTemplate = new TransactionTemplate(this.transactionManager); Object object = transactionTemplate.execute(new TransactionCallback() { public Object doInTransaction(TransactionStatus status) { // ... 其他代码 ... return flag; // 返回布尔值 } }); return ((Boolean) object).booleanValue(); // 强制转换为 Boolean 并返回其值 } ``` #### 三、字符串分割与处理 在Java中,可以使用 `StringTokenizer` 类来将一个字符串分割成一系列子字符串(通常是单词)。下面的示例展示了如何使用 `StringTokenizer` 来处理字符串: ```java String aString = "word1 word2 word3"; StringTokenizer parser = new StringTokenizer(aString); while (parser.hasMoreTokens()) { String token = parser.nextToken(); processWord(token); // 处理每个单词 } ``` 这里,`processWord` 方法可以根据具体需求来定义,用于处理分割出的每个单词。 #### 四、创建自定义事件 在Java中,可以创建自定义事件机制以便在不同的类之间传递消息。这通常涉及到定义事件类、监听器接口以及注册和触发事件的逻辑。 **4.1 定义事件类** 事件类通常继承自 `java.util.EventObject`,并包含特定的信息。 ```java public class MyEvent extends EventObject { public MyEvent(Object source) { super(source); } } ``` **4.2 定义监听器接口** 监听器接口通常继承自 `java.util.EventListener`,并定义了一个或多个方法来响应事件。 ```java public interface MyEventListener extends EventListener { public void myEventOccurred(MyEvent evt); } ``` **4.3 注册和通知事件** 为了使某个类能够接收和处理事件,需要实现监听器接口,并将该实例注册到事件源。此外,事件源需要能够触发事件,通知所有已注册的监听器。 ```java // 示例:注册监听器 MyEventListener listener = new MyEventListener() { @Override public void myEventOccurred(MyEvent evt) { // 处理事件 } }; eventSource.addMyEventListener(listener); // 示例:触发事件 eventSource.fireMyEventOccurred(new MyEvent(eventSource)); ``` 通过这种方式,可以轻松地在Java程序中实现事件驱动的架构。以上就是关于 `java.util.Random` 类的使用、对象类型转换、字符串分割处理以及自定义事件创建的主要知识点。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助