微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

同一类中的多个常量

如何解决同一类中的多个常量

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

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

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)  

解决方法

对此没有客观的答案。需要考虑的几点:

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

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

  3. (我不喜欢这个)我见过这样的情况,人们会有一个接口只用于保存常量,然后静态导入它们到类中以使用它。该接口就像是常量的大垃圾场。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。