草庐IT

const修饰符的移除

全部标签

java - public 修饰符对 Java Thread 的 run() 的好处

有没有人了解JavaThread类的run()方法公开的历史?几乎所有时候,它都会被覆盖使用,因此protected修饰符会更合适吗?这仍然会将start()作为用户的公共(public)api,因此不会为用户意外调用run()的错误留下任何空间。 最佳答案 Thread实现Runnable,它定义了run()方法,所以它必须是公开的。但由于Java1.5建议使用Executorsservices而不是java.lang.Thread。执行器将要执行的工作单元(Runnable、Callable)与实际执行器解耦。(对于Thread

java - "const"关键字的用途是什么?

为什么const在Java中是保留关键字却没有作用?如果他们决定使用final而不是const有什么意义? 最佳答案 来自JLS:Thekeywordsconstandgotoarereserved,eventhoughtheyarenotcurrentlyused.ThismayallowaJavacompilertoproducebettererrormessagesiftheseC++keywordsincorrectlyappearinprograms.从历史的角度,我可以为您提供以下内容quote通过JoshBloch从2

java - 未修饰的 JDialog 边框

我对使用MetalL&F的未修饰的JDialog周围的边框有疑问。查看此图片以查看此窗口上的边框:我想弄清楚如何摆脱或更改JDialog最外面的蓝色边框的颜色。我查看了Look&Feel的UI默认设置,但我无法想出任何适用于此的设置。有没有人对如何摆脱该边界有任何想法?谢谢! 最佳答案 您需要更改根Pane的边框:getRootPane().setBorder(BorderFactory.createLineBorder(Color.RED)); 关于java-未修饰的JDialog边框

Java:如何在未修饰的 JFrame 周围绘制边框?

我目前有SwingX库中的DropShadowBorder类(它扩展了javax.swing.border.Border类),所以这个是常规Border的实例。我想在未修饰的JFrame周围绘制此边框。我目前在我的JFrame中使用以下方法来设置边框:DropShadowBorderb=newDropShadowBorder(Color.BLACK,0,10,0.2f,10,true,true,true,true);this.getRootPane().setBorder(b);注意:我使用框架的根Pane来绘制边框,因为框架本身不支持边框。问题是边框是在组件本身内部绘制的,如下图所示

java - 没有 final 修饰符,Initialization On Demand Holder 成语线程安全吗

我有一种预感,即使用holder惯用法而不将holder字段声明为final不是线程安全的(由于不变性在Java中的工作方式)。有人可以证实这一点(希望有一些消息来源)吗?publicclassSomething{privatelonganswer=1;privateSomething(){answer+=10;answer+=10;}publicintgetAnswer(){returnanswer;}privatestaticclassLazyHolder{//noticenofinalprivatestaticSomethingINSTANCE=newSomething();}p

java - 使用 protected 访问修饰符覆盖没有访问修饰符的方法

当您覆盖方法时,您不能降低继承方法的可见性。根据下表,protected比nomodifier更易于访问:|Class|Package|Subclass|World————————————+———————+—————————+——————————+———————public|y|y|y|y————————————+———————+—————————+——————————+———————protected|y|y|y|n————————————+———————+—————————+——————————+———————nomodifier|y|y|n|n————————————+—————

java - 如果键不在列表中,则从 HashMap 中移除

如果键不在给定的项目列表中,是否有任何优雅的方法可以从HashMap中删除项目?如果有人能提供代码片段,我将不胜感激。如果不是,我可能会做这样的事情:publicHashMapgetTasksWithWordInFormula(Sessionsession,HashMaptaskMap,intsectionID,inttopicID,intwordID){@SuppressWarnings("unchecked")ListgoodList=session.createCriteria(Frbw.class).add(Restrictions.in("id.formulaId",task

java - 从 HTML 片段中移除空标签对

我有一个用户提交的字符串,其中包含HTML内容,例如"Helloworld"我想转换这个字符串,以便删除空标签对(但保留像这样的空标签)。例如,此转换的结果应将上面的字符串转换为"Helloworld"我想使用JSoup来执行此操作,因为我的类路径中已经有了它,而且在服务器端执行此转换对我来说最简单。 最佳答案 这是一个例子(使用JSoup):Stringhtml="Helloworld";Documentdoc=Jsoup.parse(html);for(Elementelement:doc.select("*")){if(!el

java - 缺少的 "framework level"访问修饰符

这是场景。作为公开许可的开源API的创建者,我的团队创建了一个基于Java的Web用户界面框架(那么还有什么新东西?)。为了保持Java中应有的良好和有条理,我们使用了具有命名约定的包org.mygroup.myframework.x,其中x表示组件、validator、转换器、实用程序等(同样,还有什么是新的?)。现在,类org.mygroup.myframework.foo.Bar中的某处是一个方法voiddoStuff(),我需要执行特定于我的框架的逻辑,并且我需要能够调用它来self框架中的其他几个地方,例如org.mygroup.myframework.far.Boo。鉴于B

c# - 是否有与 C# 中的 'new' 修饰符等效的 Java?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Istherea‘new’modifierformethodsinJava?在c#中,子类的方法可以是modifiedasnew.new修饰符的一种用法,用于显式隐藏从基类继承的成员。Java中有相同的关键字吗?