使用Java系统属性的最佳实践

发布于 2021-01-30 17:18:57

我们的代码使用了许多系统属性,例如’java.io.tmpdir’,’user.home’,’user.name’等。我们在任何地方都没有为这些常量定义任何常量(我认为Java也没有)或处理它们的任何其他聪明的事情,因此它们在整个代码中都是乱七八糟的。

String tempFolderPath = System.getProperty("java.io.tmpdir");

每个人如何使用系统属性?

关注者
0
被浏览
96
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

    我将把它当作您遍历整个代码的任何其他String常量,并为其定义一个常量变量。当然,在这种情况下,“
    java.io.tmpdir”不太可能更改,但您永远不会知道。(我并不是说Sun可能会更改“
    java.io.tmpdir”的含义或其所指向的系统属性,但是您可能会改变主意,以了解需要读取的系统属性。)

    如果您只在一个类中使用特定属性,那么我将在该类中定义常量。

    private final String TEMPDIR = "java.io.tmpdir";
    

    如果在不同的类中使用相同的属性,则可能需要定义自己的静态类来保存最常使用的常量。

    public final Class Prop {
        public static final String TEMPDIR = "java.io.tmpdir";
        ...
    }
    

    然后,在任何需要使用该常量的地方,只需使用

    System.getProperty(Prop.TEMPDIR);
    


推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看