Java-如何表示一个空/无效的java.nio.Path

时间:2019-01-20 00:48:28

标签: java nullpointerexception nio is-empty

无论环境如何,如何创建一个表示没有路径的java.nio.Path?

我无法调用Path.of(<String>)并保证得到的路径不会指向任何有效的文件或目录。

我要寻找的是一种比使用null值更安全的方法来表示空/无效路径。

3 个答案:

答案 0 :(得分:1)

根据您的用例,有两种选择:

  • 如果您尝试从方法返回路径,则可以使用df %>% rowwise() %>% modify_at("data", ~ add_column(., a = a)) # Error in eval_tidy(xs[[i]], unique_output): object 'a' not found 并返回Optional<Path>表示没有路径。
  • 如果这是类中的一个字段并且该类实现了某些行为,则可以使用null object pattern来实现另一个类,该类具有“不做任何事情”的相同接口(如果有,应用程序需要做什么)没有路径)。

答案 1 :(得分:0)

如果要避免使用null,请使用Optional,然后可以测试是否存在null。

答案 2 :(得分:0)

我真的不会尝试创建无效的Path。不能以这种方式使用它。 如果您有一个函数可以返回Path,但在某些情况下却不能,则最好的方法是返回Optional<Path>

这样做的好处是,您将强迫任何调用该函数的人检查是否存在没有有效Path的情况。与返回null不同的是,如果调用者忘了检查它,则稍后他会用NullPointerException使程序崩溃。