草庐IT

final_msg

全部标签

java - 为什么我们允许在 java 中有一个 final main 方法?

谁能告诉我在java中将main方法设置为final的用法。虽然这在java中是允许的publicstaticfinalvoidmain(String[]args){}我看不出将其设为最终版本有任何用处。反正它是静态的,所以我们不能覆盖它。 最佳答案 将final添加到静态方法中实际上可以有所作为。考虑以下代码:classA{publicstaticvoidmain(String[]args){System.out.println("A");}}classBextendsA{publicstaticvoidmain(String[]

将MailItem转换为内存中的MSG,而不是文件系统

目前,我是Base64通过将MailItem写入MSG文件来编码MailItem:mailItem.SaveAs(@"c:\path\to\save\mail.msg",Outlook.OlSaveAsType.olMSG);FileStreamfs=newFileStream(fullPath,FileMode.Open,FileAccess.Read);byte[]filebytes=newbyte[fs.Length];fs.Read(filebytes,0,Convert.ToInt32(fs.Length));stringencodedData=Convert.ToBase64Str

java - GSON 是否应该被声明为 static final?

我在代码中使用JavaCallableFuture。下面是我的主要代码,它使用了future和callables-下面是我的主要代码,它使用了future和callables-publicclassTimeoutThread{publicstaticvoidmain(String[]args)throwsException{ExecutorServiceexecutor=Executors.newFixedThreadPool(5);Futurefuture=executor.submit(newTask());try{System.out.println(future.get(3,T

java - 错误 : cannot assign a value to final variable

我正在做一个赋值,但我遇到了这个错误:无法为最终变量计数赋值到目前为止,这是我的代码...publicclassList{privatefinalintMax=25;privatefinalintcount;privatePersonlist[];publicList(){count=0;list=newPerson[Max];}publicvoidaddSomeone(Personp){if(count我是java的新手,显然不是计算机高手,所以请尽可能用最简单的术语解释问题/解决方案。非常感谢。 最佳答案 count++;会抛出

java - 为什么 Java 中的局部变量不被视为 "effectively final",即使之后没有任何修改?

在一个方法中我有这个:intx=0if(isA()){x=1;}elseif(isB()){x=2;}if(x!=0){doLater(()->showErrorMessage(x));//compileerrorhere}//nomorereferenceto'x'here我不明白为什么它会产生编译错误。该错误表明x不是最终的或有效的最终的,因此无法从lambda主体访问它。doLater调用后没有修改x,所以x的值实际上在doLater时就已经确定了被称为。我猜这个问题的答案是因为x没有资格被称为effectively-final变量。但是,我想知道是什么原因。编译器不能只创建一个

java - finally子句java中的break语句

publicclassFinallyTest{staticinti=0;publicstaticvoidmain(Stringa[]){while(true){try{i=i+1;return;}finally{i=i+1;break;}}System.out.println(i);}}在上面的代码中输出是'2'。我所期待的是什么都不应该被打印出来。“break”在这里到底做了什么?请解释。谢谢 最佳答案 finally子句更改了try子句的“完成原因”。详细解释参见JLS14.20.2-Executionoftry-catch-f

java - final 变量在匿名类中使用时的垃圾收集

如果我有类似下面的代码:publicConstructor(finalObjecto){taskSystem.add(newCycleTask(15,15,-1){@Overridepublicvoidexecute()throwsThrowable{//accessohereevery15cyclesforever}});}o什么时候被垃圾收集,如果有的话?只有当任务被收集时,它才会永远保留在内存中,因为它是最终的? 最佳答案 o可能一旦不再可达,无论它是否是最终的,都会被垃圾收集。显然,只要execute在运行,如果需要访问o,

java - 理解 try catch finally 及其返回值

我有以下一段代码。publicstaticvoidmain(String[]args){System.out.println(returnString());}privatestaticStringreturnString(){try{System.out.println("Executingtry");return"Returntryvalue";}catch(Exceptione){System.out.println("ExecutingCatch");return"Returncatchvalue";}finally{System.out.println("Executingf

java - Hibernate 4.3.0.Final 和 Spring Data JPA 1.4.3.RELEASE

我是第一次尝试设置和使用SpringData。当然,您会希望使用最新版本(SpringDataJPA1.4.3.RELEASE和Hibernate4.3.0.Final)。按照在线示例配置后,应用程序抛出异常。org.springframework.dataspring-data-jpa1.4.3.RELEASEorg.hibernatehibernate-coreHibernate4.3.0.Finalcommons-collectionscommons-collectionsorg.hibernatehibernate-search4.4.2.Finalorg.hibernateh

java - "final static String"和 "static String"之间的区别?

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。publicstaticfinalStringTest="ABC";publicstaticStringTest="ABC";请说明java中“finalstaticString”和“staticString”的区别。除了最后一个不能改变,其他有什么区别?谢谢。在多线程和继承等更复杂的情况下,什么都没有改变?