草庐IT

Constants

全部标签

java - 当常量数量巨大时,如何正确定义常量?

我正在编写一些需要定义大量常量的代码。它主要处理Marketplace常量(可能是美国、英国、印度、日本)和关联的MarketplaceMerchantMapping,它基本上将MerchantID映射到市场ID。例如:publicenumMarketplace{US("US"),JP("JP"),UK("UK"),IN("IN"),NZ("NZ"),CA("CA"),FR("FR"),......//Thiscouldgouptosome400marketplacesprivatefinalStringstringValue;publicbooleanisWest(){returnt

java - Java 中的 Setter 参数最终

我一直在用java编程,最近我开始学习一些c++。在C++中,通常将setter参数设置为const,为什么我们在java中看不到这一点?我的意思是像这样创建一个setter有什么缺点吗:publicvoidsetObject(finalObjecto){this.o=o;}对比publicvoidsetObject(Objecto){this.o=o;}第一个应该强制对象参数o在整个set函数中保持不变,不是吗?编辑:最后一个参数将强制这不会发生:publicvoidsetName(Stringname){name="Carlos";this.name=name;}用户永远无法设置不

java 8 : difference between class. getName() 和字符串文字

这个问题在这里已经有了答案:Javaswitchstatement:Constantexpressionrequired,butitISconstant(14个答案)关闭7年前。我正在研究switchcase。如果我们使用class.getName(),那么,我会收到“case表达式必须是常量表达式”的错误,如下所示:switch(param.getClass().getName()){caseString.class.getName()://todobreak;}即使我们执行以下操作,将字符串类名作为常量,然后也会出现相同的错误:publicstaticfinalStringPARA

java - 为什么 Java 库更多地使用常量整数而不是枚举?

我不确定这是否是一个明确的声明,但在我看来,JavaAPI更喜欢常量整数而不是枚举。在我使用过的API部分,我遇到了许多finalstaticint常量,其中可以使用enum代替。曾经我此刻正盯着的这样一个例子:来自java.awt.BasicStroke:publicfinalstaticintCAP_BUTT=0;publicfinalstaticintCAP_ROUND=1;publicfinalstaticintCAP_SQUARE=2;事实上,我认为我从未见过在标准JavaAPI类中使用过枚举。这是为什么?我正在为我自己的应用程序设计一个API(大约比JavaAPI小10亿倍

java - 字符数组与字符串 : which is better for storing a set of letters

我需要将代码的第4类字母存储在常量中。我能做到:staticfinalStringCODE_LETTERS="TRWAG";或staticfinalchar[]CODE_LETTERS={'T','R','W','A','G'};之后,我可以通过两种方式获得其中一个字符:finalcharcodeLetter=CODE_LETTERS.charAt(index);或finalcharcodeLetter=CODE_LETTERS[index];什么是最好的方法?请考虑更正、性能等。 最佳答案 两者都不正确,但由于您将单独处理char

java - 在枚举中声明常量

我想创建一个枚举并在其中声明几个常量以供内部使用...publicenumSearchType{staticfinalStringTEXT="text";staticfinalStringBOOLEAN="boolean";STARTS_WITH(TEXT),ENDS_WITH(TEXT),CONTAINS(BOOLEAN),WILDCARD(TEXT),REGEXP(TEXT),RANGE(TEXT)privateStringsearchType;privateSearchType(Stringtype){searchType=type;}}不幸的是,它不能以这种方式完成。到目前为止

java - 选择正确的 Lucene 目录

可用于构建Lucene索引的目录类型有很多种。哪一个最适合提高RedHat机器上的搜索速度(不确定操作系统是否相关)?RAMDirectory-无法使用,索引太大SimpleFSDirectory-不能是这个,因为它是“简单的”...MMapDirectory-也许是这个?NIOFSDirectory-还是这个?有更好的选择吗? 最佳答案 除非您有充分的理由选择其中之一,否则我建议您直接调用FSDirectory.open(File).这允许Lucene决定哪种实现是理想的。好奇的是,这里是如何做出决定的:publicstaticF

java - Java 中的字母常数?

我有一种情况需要在字母表中找到一个字母的索引。在Python中,我可以使用string.ascii_lowercase或string.ascii_uppercase。Java中有类似的东西吗?显然我可以这样做:privatestaticchar[]alphabet="abcdefghijklmnopqrstuvwxyz".toCharArray();但是在学习了这么多Python之后,我想知道这是不是在某个地方内置的。 最佳答案 你可以这样获取索引:charlowercaseLetter=...intindex=lowercaseL

java - 在映射器文件中访问mybatis sql中的公共(public)静态最终字符串

我有一个用MyBatis映射器文件编写的sql,它是这样的:selecta,b,cfromtbl_namewhered=?d的占位符值应该是在名为Constants.java的文件中声明的常量作为:publicstaticfinalStringd="d_value";如何在不实际传递参数的情况下用值替换占位符构造?我试过#{com.pkg.name.Constants.d}但它没有用。没有硬编码!!! 最佳答案 SELECT*FROMStoreWHEREtype=${@foo.product.constant.StoreType@C

java - 在 JSF 中有一个 "constants"类

我正在使用JSF/Primefaces构建一个网络应用程序。我需要一个“常量”类,即一个由常量组成的类。这些常量主要是将在整个应用程序中使用的导航命令。我这样做的原因是为了避免临时实例化字符串。我如何实现这一点,使常量可从支持bean和XHTML文件访问?我已经尝试使用@ApplicationScoped并使用Singleton模式(Singleton类),但由于范围问题我无法让它工作。或者也许我只是使用了错误的方法。欢迎任何想法/建议。 最佳答案 HowdoIachievethis,makingtheconstantsaccess