草庐IT

java - 什么更有效率? If Else 还是 HashMap?

我正在用Java编写一些代码来检查坐标在哪个象限,我想知道哪种方法更有效地检查它:if-elseblock或使用HashMap。HashMap看起来像这样:privatestaticfinalMapquadMap=newHashMap(){{put(newCoordinate(0,0),Quadrant.Q1);put(newCoordinate(0,1),Quadrant.Q2);put(newCoordinate(1,0),Quadrant.Q3);put(newCoordinate(1,1),Quadrant.Q4);}};然后我想在哪里获得我的象限:returnquadMap.

Java 监视器 : How to know if wait(long timeout) ended by timeout or by Notify()?

首先,这是一个几乎重复的:Howtodifferentiatewhenwait(longtimeout)exitfornotifyortimeout?但这是一个新的后续问题。有这个等待声明:publicfinalnativevoidwait(longtimeout)throwsInterruptedException;它可能会因InterruptedException或超时而退出,或者因为在另一个线程中调用了Notify/NotifyAll方法,Exception很容易捕获但是...我的代码绝对需要知道退出是超时还是通知。(以后这段代码需要重新设计,但是现在做不到,所以需要知道退出wa

java - java 是否支持 if-then-else 正则表达式构造(Perl 构造)?

我在尝试编译以下正则表达式时收到PatternSyntaxException:"bd".matches("(a)?b(?(1)c|d)")这个正则表达式匹配bd和abc。它与bc不匹配。有什么想法吗?谢谢。好的,我需要编写正则表达式来匹配接下来的4个字符串:*datedate*datedate1*date2不应该匹配:*date*date1*date2**date1*date2date**...但这应该通过单个匹配来完成,而不是多个。请不要发布如下答案:(date*date)|(*date)|(date*)|(date) 最佳答案

java - 错误 - IntelliJ IDEA 中的 "java: cannot find symbol"

我想运行我的项目,但IntelliJIDEA版本13显示一些奇怪的错误消息:现在类文件在类图标上有一些小十字。但是这段代码是经过编译的,我无法理解这种奇怪的行为。如何解决这个麻烦? 最佳答案 我相信这个类被排除在编译之外-我想我以前有过这个。尝试:设置->编译器->排除 关于java-错误-IntelliJIDEA中的"java:cannotfindsymbol",我们在StackOverflow上找到一个类似的问题: https://stackoverflo

java - "Cannot Find Symbol"编译错误

我的编码经验只有几年,所以这个问题应该很容易回答。我写了两个接口(interface):类和游戏。接口(interface)CLASS应该扩展接口(interface)GAME。下面是两个接口(interface)源:packageImpl;publicinterfaceGame{//METHODSANDVARS}packageImpl;publicinterfaceClassextendsGame{//METHODSANDVARS}现在,当我尝试编译第二个接口(interface)时,出现以下错误class.java:4:cannotfindsymbolsymbol:classGam

java - 输出为假时如何重复 "if"语句

我正在开发一个简单的游戏,用户必须在其中猜测一个随机数。我已经设置了所有代码,但如果猜测太高或太低,我不知道如何让他们重新输入数字并继续玩直到他们猜到。它只是停止;这是代码:importjava.util.Scanner;importjava.util.Random;publicclassTest{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);Randomrand=newRandom();intrandom=rand.nextInt(10)+1;System.out.print("Pickan

java - 简单的 if 语句与普通的 if 语句

在Java字节码级别,简单的if语句(示例1)和普通的if语句(示例2)之间有什么区别吗:示例1:if(cond)statement;示例2:if(cond){statement;}这个问题的背景是,我在像java.awt.Rectangle和Point这样的“高性能”类中看到只有没有花括号的变体。是否有任何速度优势,或者仅仅是代码风格? 最佳答案 除了代码的可维护性外,在性能方面完全相同。删除{}不会加快速度,因为{}本身不是一条指令。我通常使用{},因为它使代码易于阅读(IMO)并且不易出错。这个例子:publicvoidA(i

java - 什么更快,Regex 或 if 比较 - Java

我有两种可能性,制作正则表达式或制作if比较。如果比较if(!(modoImpressao.equals("IMPRESSORA")||modoImpressao.equals("PDF")||modoImpressao.equals("AMBOS")))正则表达式匹配if(!Pattern.compile("(IMPRESSORA)|(PDF)|(AMBOS)",Pattern.DOTALL).matcher(modoImpressao).find()){thrownewEspdNeverStopParametroInvalidoException(TspdConstMessages

java - 什么是更好的? if..else 或多个简单的 if

谈论Java性能..什么更好?if..else或多个简单的ifif(condition){some_code;returnvalue;}elseif(condition){some_code;returnvalue;}elseif(condition){some_code;returnvalue;}else{some_code;returnvalue;}或if(condition){some_code;returnvalue;}if(condition){some_code;returnvalue;}if(condition){some_code;returnvalue;}some_c

java - "Error: Could not find or load main class My.class"

我在Windows7上通过cmd.exe使用JavaSDK1.7。直到几个小时前一切都正常工作,突然我无法运行我编译的类文件,标题中始终显示错误。我似乎能够编译我的My.java文件,但是我无法运行生成的类文件(My.class)。我经常收到错误“错误:无法找到或加载主类My.class”。我已经用多个其他类文件尝试过这个,所有这些都导致了同样的问题。如果您想知道的话,我的“路径”环境变量设置为“C:\ProgramFiles(x86)\Java\jdk1.7.0_05\bin”我试过重新安装、创建和设置类路径变量(运气不好),甚至直接使用java-cp。我的.class命令。我试过这