找到 270 篇文章 关于 Java8
1K+ 次浏览
Java 字节流用于执行 8 位字节的输入和输出,而 Java 字符流用于执行 16 位 Unicode 的输入和输出。虽然有很多类与字符流相关,但最常用的类是 FileReader 和 FileWriter。虽然在内部 FileReader 使用 FileInputStream,而 FileWriter 使用 FileOutputStream,但这里的主要区别在于 FileReader 一次读取两个字节,而 FileWriter 一次写入两个字节。以下示例使用这两个类将输入文件(包含 Unicode 字符)复制到输出文件:示例 import java.io.*; ... 阅读更多
101 次浏览
Java 9 添加了新的工厂方法到 Set 接口,用于创建不可变实例。这些工厂方法是方便的工厂方法,可以更简洁地创建集合。旧的创建集合方法示例 import java.util.Collections; import java.util.HashSet; import java.util.Set; public class Tester { public static void main(String []args) { Set set = new HashSet(); set.add("A"); set.add("B"); set.add("C"); Set readOnlySet = Collections.unmodifiableSet(set); System.out.println(readOnlySet); try { readOnlySet.remove(0); ... 阅读更多
167 次浏览
Java 9 添加了新的工厂方法到 Map 接口,用于创建不可变实例。这些工厂方法是方便的工厂方法,可以更简洁地创建集合。旧的创建集合方法示例 import java.util.Collections; import java.util.HashMap; import java.util.Map; public class Tester { public static void main(String []args) { Map map = new HashMap(); map.put("A", "Apple"); map.put("B", "Boy"); map.put("C", "Cat"); Map readOnlyMap = Collections.unmodifiableMap(map); System.out.println(readOnlyMap); try { readOnlyMap.remove(0); ... 阅读更多
186 次浏览
Java 9 添加了新的工厂方法到 List 接口,用于创建不可变实例。这些工厂方法是方便的工厂方法,可以更简洁地创建集合。旧的创建集合方法示例 import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Tester { public static void main(String []args) { List list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); List readOnlylist = Collections.unmodifiableList(list); System.out.println(readOnlylist); try { readOnlylist.remove(0); ... 阅读更多
1K+ 次浏览
当我们需要自定义序列化机制时,使用外部化。如果一个类实现了 Externalizable 接口,则对象的序列化将使用 writeExternal() 方法完成。而在接收端,当一个 Externalizable 对象被重建时,将使用无参数构造函数创建一个实例,然后调用 readExternal() 方法。如果一个类只实现了 Serializable 接口,对象的序列化将使用 ObjectoutputStream 完成。在接收端,可序列化的对象将使用 ObjectInputStream 重建。以下示例展示了 Externalizable 接口的用法:示例 import java.io.Externalizable; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.ObjectOutput; import java.io.ObjectOutputStream; public class ... 阅读更多
10K+ 次浏览
Java 中的运行时多态性是通过方法重写实现的,其中子类重写其父类中的方法。重写的方法实质上隐藏在父类中,除非子类在重写方法中使用 super 关键字,否则不会调用。这种方法调用解析发生在运行时,称为动态方法调度机制。示例让我们来看一个例子。class Animal { public void move() { System.out.println("动物可以移动"); } } class Dog extends Animal { public void move() { System.out.println("狗可以行走和 ... 阅读更多
2K+ 次浏览
我们可以使用其 URL 在 Java 中下载网页。以下是需要的步骤。使用 url 字符串创建 URL 对象。在 Java 中下载网页使用 url.openStream() 方法创建一个 BufferReader 对象。BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));创建一个 BufferWriter 对象以写入文件。BufferedWriter writer = new BufferedWriter(new FileWriter("page.html"));使用 BufferReader 读取每一行并使用 BufferWriter 写入。String line; while ((line = reader.readLine()) != null) { writer.write(line); }以下是下载给定 URL 页面到当前位置的完整程序。import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; public class Tester { public static void main(String ... 阅读更多
350 次浏览
双括号可用于在一个 Java 表达式中创建和初始化对象。请参见下面的示例:示例 import java.util.ArrayList; import java.util.List; public class Tester{ public static void main(String args[]) { List list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); list.add("F"); System.out.println(list); List list1 = new ArrayList() { { add("A"); add("B");add("C"); add("D");add("E");add("F"); ... 阅读更多
571 次浏览
前向声明是指在方法或变量实现之前声明它。为了能够在实现之前使用变量或对象,这种声明在 C/C++ 编程语言中是必要的。如果要使用库代码,则需要创建其头文件并使用它。但在 Java 中并非如此。Java 允许在声明和实现之前使用变量、类。Java 允许使用库代码而无需任何头文件。以下示例展示了这一点。这里我们在声明之前使用了类对象。示例 public ... 阅读更多
浏览量:34K+
以下是处理 Java 异常消息的不同方法。使用 printStackTrace() 方法 - 它打印异常的名称、描述和完整的堆栈跟踪,包括发生异常的行。catch(Exception e) { e.printStackTrace(); }使用 toString() 方法 - 它打印异常的名称和描述。catch(Exception e) { System.out.println(e.toString()); }使用 getMessage() 方法 - 最常用。它打印异常的描述。catch(Exception e) { System.out.println(e.getMessage()); }示例import java.io.Serializable; public class Tester implements Serializable, Cloneable { public static void main(String args[]) { try { int a = 0; ... 阅读更多