草庐IT

FINAL_DEFINE

全部标签

java - 将 ArrayList 对象声明为 final 以在常量文件中使用

我正在生成一个对象的ArrayList。以下是代码ArrayListsomeArrayList=newArrayList();PublicArrayListgetLotOfData(){ArrayListsomeData=newArrayList();returnsomeData;}someArrayList=eDAO.getLotOfData();一旦我有了这个ArrayList对象“someArrayList”,我想将它声明为public和final并将它存储在一个常量文件中,以便可以全局访问它。有没有办法我可以做到这一点?如果我将Arraylist对象声明为public和fina

java : in what order are static final fields initialized?

好的,假设我有一个看起来像这样的类(class):publicclassSignupServletextendsHttpServlet{privatestaticfinalLoggerSERVLET_LOGGER=COMPANYLog.open(SignupServlet.class);privatestaticfinalExceptionMessageHandlerhandler=newExceptionMessageHandler();privatestaticfinalSignupServletObservableAgentsignupObservableAgent=newSig

java - 为什么 Object 成员变量在 Java 中不能既是 final 又是 volatile?

如果在一个类中我有一个ConcurrentHashMap实例,该实例将被多个线程修改和读取,我可能会这样定义:publicclassMyClass{privatevolatileConcurrentHashMapmyMap=newConcurrentHashMap();...}将final添加到myMap字段会导致错误提示我只能使用final或volatile。为什么不能两者兼得? 最佳答案 volatile只与变量本身的修改有关,与它所引用的对象无关。有一个finalvolatile字段是没有意义的,因为final字段不能被修改。

java - 在java中创建Hashtable作为final

我们知道java中“final”关键字的用途。在将变量声明为final时,我们必须初始化变量。比如“finalinta=10;”我们不能改变“a”的值。但是,如果我们选择HashTable,它甚至可以添加一些值,甚至将HashTable声明为final。示例::privatestaticfinalHashtableMYHASH=newHashtable(){{put("foo",1);put("bar",256);put("data",3);put("moredata",27);put("hello",32);put("world",65536);}};现在我将MYHASHHashTa

java - 为什么只有在 short 是 final 时才将 short 分配给 byte ?

有人可以解释为什么以下编译:finalshorts1=1;finalcharc1=1;byteb1=s1;byteb2=c1;但以下没有(编译器错误信息是Typemismatch:cannotconvertfromshorttobyte):shorts1=1;charc1=1;byteb1=s1;byteb2=c1; 最佳答案 答案在JLS-5.2.AssignmentConversion:..iftheexpressionisaconstantexpression(§15.28)oftypebyte,short,char,orin

java - java final 是否有助于编译器创建更高效​​的字节码?

这个问题在这里已经有了答案:关闭10年前.PossibleDuplicate:DoesuseoffinalkeywordinJavaimprovetheperformance?final修饰符有differentconsequences在java中取决于你应用它。我想知道的是,如果另外它可能会帮助编译器创建更高效​​的字节码。我想这个问题深入到JVM是如何工作的,并且可能是JVM特定的。那么,根据您的专业知识,以下任何一项对编译器有帮助吗,还是仅出于正常的java原因使用它们?期末课final方法最终字段final方法参数谢谢!编辑:感谢您的所有回答!请注意,正如@Zohaib建议的那

java - 我们应该什么时候使用 "public static final String"?

我见过很多人写的代码publicstaticfinalStringmystring=...然后只使用一个值。为什么他们必须这样做?为什么他们必须在使用之前将值初始化为final?更新好的,谢谢大家的回答,我理解这些键的含义(publicstaticfinal)。我不明白的是为什么人们会使用它,即使常量只会在一个地方并且只在同一个类中使用。为什么要宣布它?为什么我们不只使用变量? 最佳答案 final表示变量的值不会改变——也就是说,一个constant,它的值在声明之后就不能被修改。当你想创建一个String时使用publicfin

java - hibernate-commons-annotations-4.0.1.Final.jar;无效的 LOC header (错误的签名)?

我是Maven新手..我正在尝试为springMVC+Hiberante创建maven项目,但我遇到了很多错误..任何人都可以解决我的问题,请检查我的pom.xml以获取以下信息4.0.0Spring3HibernateMavenSpring3HibernateMavenwar0.0.1-SNAPSHOTmaven-compiler-plugin2.3.21.51.5maven-war-plugin2.0-->javax.servletservlet-api2.5org.springframeworkspring-beans${org.springframework.version}o

java - 多次返回 : Which one sets the final return value?

鉴于此代码:Stringtest(){try{return"1";}finally{return"2";}}语言规范是否定义了调用test()的返回值?换句话说:在每个JVM中它总是相同的吗?在SunJVM中,返回值为2,但我想确定,这与VM无关。 最佳答案 是的,languagespec定义“2”是结果。如果VM的做法有所不同,则说明它不符合规范。大多数编译器都会提示它。例如Eclipse会声称返回block永远不会被执行,但这是错误的。编写这样的代码是非常糟糕的做法,永远不要这样做:)

java - 'public static final' 还是带有 setter/getter 的 'private static final'?

在Java中,变量应该保持私有(private)以实现更好的封装,但是静态常量呢?这个:publicstaticfinalintFOO=5;结果与此等价:privatestaticfinalintFOO=5;...publicstaticgetFoo(){returnFOO;}但哪种做法更好? 最佳答案 不直接在代码中使用常量的原因之一。假设FOO稍后可能会更改(但仍保持不变),例如publicstaticfinalintFOO=10;。只要没有人愚蠢到直接硬编码值,就不应该破坏任何东西吗?没有。Java编译器会将上面的Foo等常量