草庐IT

static_switch

全部标签

java - 如何在 switch-case 中使用 char 作为 case?

如何在switch-case中使用字符?无论用户输入什么,我都会得到第一个字母。importjavax.swing.*;publicclassSwitchCase{publicstaticvoidmain(String[]args){Stringhello="";hello=JOptionPane.showInputDialog("Inputaletter:");charhi=hello;switch(hi){case'a':System.out.println("a");}}} 最佳答案 publicclassSwitCase{p

java - 使用 scala 模式匹配而不是 java switch case 有什么优势?

人人都说模式匹配是函数式语言的一大特色。为什么?我不能简单地使用ifs和switchcase来处理所有事情吗?我想了解使用模式匹配代替常规过程编程ifs和switchcase的优势 最佳答案 我首先要注意的是,您没有使用模式匹配“代替”switch语句。Scala没有switch语句,它有的是matchblock,里面的case从表面上看与switch语句非常相似。具有模式匹配的匹配block可以完成switch所做的一切,甚至更多。A)它不仅限于原始类型和Oracle在语言规范中选择“祝福”的其他类型(字符串和枚举)。如果您想匹配

java - Eclipse 中的 "Cannot switch on a value of type String for source level below .."错误

我正在使用Eclipse开发Java程序。我不得不将JRE和JDK从1.7x降级到1.6。现在一切都指向1.6.x(包括已安装的JRE和JDK合规性)。但是现在Eclipse仍然在switch语句上给我一个错误,表明:CannotswitchonavalueoftypeStringforsourcelevelbelow1.7.Onlyconvertibleintvaluesorenumconstantsarepermitted在下面的代码中:Switch("test")//Whichisfinewith1.7.x我从计算机中删除了1.7.x,不确定为什么它仍在寻找1.7而不是1.6?

java - 如何在子类中访问父类(super class)的 ‘protected static’ 变量,子类位于不同的包中..?

这是同一问题的稍微详细的版本。我们不能在子类中访问(父类(superclass)的)protected变量,子类在不同的包中。我们只能访问父类(superclass)的继承变量。但是,如果我们将修饰符更改为“protectedstatic”,那么我们也可以访问父类(superclass)的变量。为什么会这样?这是我试图解释的相同代码片段。packagefirstOne;publicclassFirst{**protected**inta=7;}packagesecondOne;importfirstOne.*;publicclassSecondextendsFirst{protecte

static - Java:如何将 "restart"设为静态类?

我有一个静态类(Foo)和一个主类(Main)参见Main.java:publicclassMain{publicstaticvoidmain(String[]args){System.out.println(Foo.i);//0Foo.i++;System.out.println(Foo.i);//1//restartFoohereSystem.out.println(Foo.i);//1again...Ineed0}}参见Foo.java:publicclassFoo{publicstaticinti=0;}有什么方法可以重新启动或重置静态类吗?注意:我需要这个,因为我正在使用jU

Java Statics 原语、对象、方法和堆(内存管理和最佳实践)

好的,我已经使用Java进行了一年多的开发,并且正在努力更深入地研究该语言及其最佳实践。所以这是我所知道的:Java“按类型传递”-即基元按副本传递,对象引用按副本传递(引用指向它们在堆上的对象)。基元实例变量和引用存在于堆中的类对象中,本地基元和引用存在于栈中(在它们各自的栈帧中)。PermGen.内存空间是存储类元数据的地方(用于反射)。Heap有一个Eden空间,用于放置新对象,一个Young空间,用于保存在GC中幸存下来的对象,还有一个Tenured空间,用于放置长期存在的对象。所以这是我想了解的:JVM能够使用单个实例的静态和静态最终原语和引用位于何处?静态和静态最终对象是否

java - static 仅通过两个大括号成功意味着什么?

这个问题在这里已经有了答案:Whatisthedifferencebetweenastaticandanon-staticinitializationcodeblock(9个回答)关闭7年前。static仅由两个大括号成功是什么意思?对不起初学者的问题。我试图寻找有关它的教程,但找不到。staticas:static{}的这种用法对我来说并不清楚。我发现它被其他人在这里使用developerWorks.我认为它可能是多行或组修饰符并尝试了下面的代码,但其他类型修饰符给出的错误与静态不同。publicclassMyClass{privatevolatileintv1=0;privatef

带有字符串的 Java 7 switch 语句不起作用

根据TheJavaTutorials,在JavaSE7之后,您可以在switch语句的表达式中使用String对象。Strings=...switch(s){//dostuff}但这是真的吗?我已经安装了JRE并将其添加到我的Eclipse项目的构建路径中,但我收到以下编译时错误:CannotswitchonavalueoftypeString.Onlyconvertibleintvaluesorenumconstantsarepermitted另外,我认为我已经正确配置了它,因为我能够使用它的java.nio.file.Files类,以及JLayer。有什么想法吗?

java - 我可以将 return 语句放在 switch 语句中吗?

我可以使用switch语句来决定返回什么吗?例如,我想根据我的随机生成器得出的结果返回一些不同的东西。Eclipse给我一个错误,要我将return语句放在switch之外。我的代码:publicStringwordBank(){//Errorheresaying:"Thismethodmustreturnatypeofstring"String[]wordsShapes=newString[10];wordsShapes[1]="square";wordsShapes[2]="circle";wordsShapes[3]="cone";wordsShapes[4]="prisim";

java - getClass() 文档中的 "the erasure of the static type of the expression on which it is called"是什么意思?

"publicfinalClassgetClass()"的文档对象的方法说:TheactualresulttypeisClasswhere|X|istheerasureofthestatictypeoftheexpressiononwhichgetClassiscalled.Forexample,nocastisrequiredinthiscodefragment:我不明白这个解释,特别是关于什么|X|据说是-“删除调用getClass的表达式的静态类型”。|X|是什么形式的符号?或者,也许,还有什么地方会|X|使用类型符号? 最佳答案