当我调用getGraphics()时,它经常返回null,即使我设置了xxx.getGraphics();xxx可见(如谷歌搜索显示...)但这行不通,这让我很沮丧,因为在C-Sharp中很容易做到。有谁知道比使用getGraphics()更好的方法吗?? 最佳答案 不要使用getGraphics()。您所做的任何绘制都将是临时的,并且会在下次Swing确定需要重新绘制组件时丢失。而是重写JComponent或JPanel的paintComponent()方法来进行自定义绘制。参见CustomPainting了解更多详情和示例。
publicstaticvoidmain(String[]args){HashSetset=newHashSet();set.add(newStringBuffer("abc"));set.add(newStringBuffer("abc"));set.add(newStringBuffer("abc"));set.add(newStringBuffer("abc"));System.out.println(set);}输出:[abc,abc,abc,abc]在上面的代码中,我多次添加了StringBuffer("abc")的对象,Set添加了它,但Set从不添加重复项。
这个问题在这里已经有了答案:关闭12年前。PossibleDuplicates:whichwayisbetter“null!=object”or“object!=null”?Whydoesoneoftensee“null!=variable”insteadof“variable!=null”inC#?‘…!=null’or‘null!=…’bestperformance?请指导我。null!=object和object!=null有什么区别"".equal("something")和"something".equals("")相同加工哪个好。
我正在用Java编写程序。我有一个主JPanel,上面添加了两个JPanel和一个Canvas。我的目标是在运行程序时调整Canvas的大小。当我最大化Canvas时,我希望它始终位于其他组件之上。如何为我的Canvas设置这个属性? 最佳答案 您可以将主JPanel替换为JLayeredPanel。分层面板可让您指定某些子组件应分层放置在其他子组件之上。即:JLayeredPanepane=newJLayeredPane();JLabelontop=newJLabel("Ontop");JLabelbehind=newJLabel
我在运行J2ME应用程序时遇到了一些严重的内存问题。所以我建立了另一个步骤来清除巨大的输入字符串并处理它的数据并清除它。但直到我设置input=null而不是input=""才解决问题。在内存管理上不应该是一样的吗?有人可以解释一下区别吗?谢谢,雷伊特for(intx=0;x5000){ReadXML(input);input=null;}}编辑:我仍然想将答案标记为解决方案。我认为mmyers的言论是在朝着正确的方向前进。 最佳答案 每个变量实际上都是指向内存中“数据”的指针。input=""将输入分配给字符串对象。它有一个长度(
这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Howtoavoid“!=null”statementsinJava?分享你的想法..
我希望下面的代码能给我一个子集和一个补充集。但实际上,结果显示“错误:这不是一个子集!”it.next()得到什么以及如何修改我的代码以获得我想要的结果?谢谢!packageChapter8;importjava.util.HashSet;importjava.util.Iterator;importjava.util.Set;publicclassThree{intn;Setset=newHashSet();publicstaticvoidmain(Stringargs[]){Threethree=newThree(10);three.display(three.set);Sette
您是否总是在达到对象的范围后将null分配给对象?或者您是否依赖JVM进行垃圾回收?无论长度如何,您是否为所有类型的应用程序都这样做?如果是这样,这总是一个好习惯吗? 最佳答案 除非您有非常具体的原因,否则没有必要将对象显式标记为null。此外,我从未见过应用程序在不再需要时将所有对象标记为空。垃圾回收的主要好处是内在的内存管理。 关于java-使用后将"null"分配给每个应用程序中的对象,我们在StackOverflow上找到一个类似的问题: https:
所以这应该非常简单,因为我知道这是可能的(我只是不太了解“设置”)。所以基本上有这个TreeMap,我们称它为aTree。所以我需要做类似的事情:somethingHereProbably=aTree.keySet();somethingHereProbably.toStringArray(); 最佳答案 你可以做到Mapmap=...String[]strings=map.keySet().toArray(newString[map.size()]);这适用于任何类型的map,包括TreeMap
与空检查相比,变量赋值是否昂贵?例如,是否值得在将foo赋值为null之前检查它是否不为null?if(foo!=null){foo=null;}或者这是什么都不担心? 最佳答案 这是一个微优化(并且可能由编译器处理)。别担心。通过专注于您的程序实际算法,您将获得更大的返回。Weshouldforgetaboutsmallefficiencies,sayabout97%ofthetime:prematureoptimizationistherootofallevil.--DonaldKnuth