实用类/方法

实用程序类是具有静态变量和静态方法的帮助程序类,可执行特定的相关任务列表。

让我们看一下标准实用程序类的示例:

java.lang.数学 这个类可以执行许多不同的数学计算,为我们提供了一些数学常数。
java.util.数组 该类包含用于处理数组的各种方法(例如对它们进行排序和搜索)。这个类还有一个静态工厂,让我们可以将数组视为列表。
java.lang.System 此类实现与系统一起工作的方法。大多数情况下,我们用它来在控制台上显示文本。为此,我们引用静态出去变量,它存储一个PrintStream对象,并调用它的println方法 ( System.out.println )。

我们也可以自己创建一个实用程序类:为此,我们只需创建一个包含我们需要的静态公共方法的类。但是请记住,您应该有充分的理由来创建实用程序类。例如,您可能需要在几个不同的类中使用相同的方法或方法集来执行单个任务(例如复杂的计算)。

让我们看一个实用程序类的示例 — Paths类。

路径类

此类仅包含一个静态get方法,该方法具有两个具有不同参数列表的变体。

我们可以传递给get方法的参数是:

得到(首先是字符串,字符串...更多) 最后一个参数中的完整路径或目录名称列表和(或)文件。
得到(URI URI) 一个 URI。

这个实用程序类解决了将路径(以字符串形式)或 URI 转换为Path的问题。我们已经探索了Path并理解了我们为什么需要它以及我们如何使用它。

碰巧的是,我们经常以字符串或 URI的形式处理路径。这是我们可以使用Paths实用程序类的方法的地方。

让我们看例子:

例子 评论

Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
                    
我们向get方法传递一个 String (文件的路径)并获取一个Path。然后我们可以根据需要使用它。

Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
                    
Path也可以从 URI 获得

Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
                    
我们指出目录名称的顺序和需要其路径的文件的名称。

但这里有一个警告。随着 Java 11 的到来,get方法的任何实现都会调用Path.of。


public static Path get(String first, String... more) {
    return Path.of(first, more);
}
 
public static Path get(URI uri) {
    return Path.of(uri);
}
    

这个实用程序类可能被声明为已弃用,因此我们应该改用Path.of。


Path path =
Paths.get("C:\\Users\\User\\Documents\\MyFile.txt");
                    

Path path =
Path.of("C:\\Users\\User\\Documents\\MyFile.txt");
                    

Path path = Paths.get(URI.create("file:///Users/User/Code/MyClass.java"));
                    

Path path = Path.of(URI.create("file:///Users/User/Code/MyClass.java"));
                    

Path path = Paths.get(System.getProperty("user.home"),"documents", "document.txt");
                    

ath path = Path.of(System.getProperty("user.home"),"documents", "document.txt");