同一 class 中的多个常量

Multiple constants in same class

我想知道在同一个 class 中使用最终常量的最佳方法是什么?因为我必须使用很多相同的 class 并且看起来非常网状,谢谢。

我怎样才能使它看起来更具可读性,因为如果我需要存储更多的变量,将会有很多......谢谢

public class Default {

private static final String CLASS_FILE_EXTENSION = ".class";

private static final String JAVA_PACKAGE = "java.";

private static final String NO_PREFIX = "";

private static final String SUFFIX = "sfx";

private static final String TEMP_SUFFIX = "tmp";

private static final String NO_PARAMETERS = "()";

private static final String STRING_DESCRIPTOR = "Ljava/lang/String;";

private static final String RETURNS_VOID = "V";

private static final String JAR = "jar";

private static final int ONLY = 0;

private static final int BUFFER_SIZE = 1024;

private static final int PACKAGE_LOOKUP = 0x8;

private static final int BASE_VERSION = 44;

private static final Class<?> NOT_FOUND = null;

private static final URL NOT_SEALED = null;

private final TypeDescription instrumentedType;

private final TypeAttributeAppender typeAttributeAppender;

private final AsmVisitorWrapper asmVisitorWrapper;

private final ClassFileVersion classFileVersion;

private final AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy;

private final AnnotationValueFilter.Factory annotationValueFilterFactory;

private final AnnotationRetention annotationRetention;

private final Implementation.Context.Factory implementationContextFactory;

private final MethodGraph.Compiler methodGraphCompiler;

private final TypeValidation typeValidation;

private final ClassWriterStrategy classWriterStrategy;

private final LatentMatcher<? super MethodDescription> ignoredMethods;

private final List<DynamicType> auxiliaryTypes;

private final ClassFileLocator classFileLocator;

public Default(..... etc)  

没有 objective 可能的答案。需要考虑的几点:

  1. 在一个 class 中有很多常量可能意味着 class 做了很多工作。看看是否可以将 class 拆分为多个 classes 并根据这些 classes 中的用法声明常量。

  2. 由于所有这些都是私有字段,请查看它们是否真的在同一个 class 中被多次使用。如果不是,您可以直接使用字符串而不是为此设置常量。缺点是,以后如果想在不同地方的同一个class中再次使用它,你必须记住将它设为常量(这很容易忘记)。

  3. (我不喜欢这个)我见过这样的情况,人们会有一个接口只是为了保存常量,然后 static import 它们进入 class 使用它。该接口就像常量的大垃圾场。