草庐IT

variable-declaration

全部标签

java - 在长变量声明中使用字母 L

longl2=32;当我使用上面的语句时,我没有得到错误(我没有在最后使用l),但是当我使用下面的语句时,我得到这个错误:Theliteral3244444444oftypeintisoutofrangelongl2=3244444444;如果我使用longl2=3244444444l;,则没有错误。这是什么原因?长变量不强制使用l。 最佳答案 3244444444被解释为文字整数,但不能放入32位int变量中。它需要是一个literallongvalue,所以它需要在末尾有一个l或L:longl2=3244444444l;//or

Java8 Effectively Final compile time error on non final variable

我正在尝试将java8forEach循环中的boolean变量更改为非最终的true。但我收到以下错误:在封闭范围内定义的局部变量必须是最终的或实际上是最终的。如何解决这个错误?代码:booleanrequired=false;这是我在函数中创建的变量。现在当我试图改变它时:map.forEach((key,value)->{System.out.println("Key:"+key+"Value:"+value);required=true;});我收到错误:在封闭范围内定义的局部变量必须是最终的或实际上是最终的。为什么会出现这个错误,如何解决? 最佳答案

java - 为什么 "cannot select from a type variable"

我有以下类(class):publicabstractclassA{publicStringatt;publicstaticabstractclassBuilder{publicTa;publicabstractTbuild();publicT.BuildersetAtt(Stringa){this.a.att=a;returnthis;}}}publicclassA1extendsA{publicstaticclassBuilderextendsA.Builder{publicBuilder(){this.a=newA1();}publicA1build(){returnthis.a

java - JSTL sql :query variable

我在JSP文件中编写了以下代码:select*fromaccountwhereAccountNumber=AccountnotfoundDepositMadeAccountnumber:Depositamount:Newbalance:error我遇到的问题是以下代码抛出javax.el.MethodNotFoundException:Unabletofindmethod[first]with[0]parameters异常:Accountnotfound我需要访问sql:query中的帐户变量,以便检查第一行是否存在。 最佳答案 根

java - 将 boolean 值设置为 false 是多余的吗?

我已经阅读过几个关于这个主题[或非常相似]的问题和答案,但没有一个真正直截了本地解决这个问题。当声明一个新的boolean变量时,它是否多余[例如不必要]将其初始化为false?booleanselectedZone=false;与仅仅声明booleanselectedZone;我看过的其他帖子是WhyisJava'sdefaultvalueforBooleansettotrue?和DefaultvalueofBooleaninjava 最佳答案 在大多数情况下这是多余的。异常(exception)情况是它是局部变量,在这种情况下需

java - 为什么类型声明在静态类型语言中很重要?

我试图了解静态类型化编程语言的好处,由此,我想知道为什么我们需要在声明中包含类型?除了使类型明确之外,它还有什么用吗?如果是这样的话,我不明白这一点。我知道静态类型允许在编译时进行类型检查,但如果我们省略显式类型声明,Java是否仍然无法在编译时推断类型?例如,假设我们在Java中有:myClasstest=newmyClass();这里不是不需要类型声明吗?如果我没记错的话,这是静态绑定(bind),Java应该知道test是myClass类型,即使在编译时也没有显式声明类型。对可能重复的回应:这不是关于静态类型与动态类型的问题,而是关于静态类型语言中的类型推断的问题,如已接受的答案

java - 非法参数异常 : object is not an instance of declaring class

怎么可能没有抛出“foo”异常,但随后调用invoke()却抛出以下异常?if(method.getDeclaringClass()!=object.getClass())thrownewRuntimeException("foo");method.invoke(object);抛出的异常:java.lang.IllegalArgumentException:对象不是声明类的实例在sun.reflect.NativeMethodAccessorImpl.invoke0(native方法) 最佳答案 Beh...method.invo

java编译器奇怪: field declared in same class,但 "not visible"

eclipse编译器拒绝编译以下代码,指出字段s不可见。(IBM的AspectJ编译器也拒绝,声明“无法解析s”)这是为什么呢?publicclassTest{Strings;voidfoo(Objecto){Stringos=getClass().cast(o).s;}}Java语言规范指出:Otherwise,wesaythereisdefaultaccess,whichispermittedonlywhentheaccessoccursfromwithinthepackageinwhichthetypeisdeclared.按照我的理解,该字段是在同一个编译单元中声明和访问的,因

java - jpa 命名查询 : named bind variables for list

如果您有一个带有如下列表的命名查询:@NamedQuery(name="selection",query="SELECTxFROMEmployeexWHEREx.nameIN('Jack','Jill')")是否可以将列表制作成命名的绑定(bind)变量,以便您设置所需的内容:q.setParameter(.......);欢迎提出建议 最佳答案 是的,这是可能的。就像任何其他参数一样:@NamedQuery(name="selection",query="SELECTxFROMEmployeexWHEREx.nameIN:name

java - 抑制 Maven 依赖插件的 "Unused declared dependencies found"警告

maven-dependency-plugin通过在编译时产生警告来识别它认为是未使用的依赖项。[WARNING]Unuseddeclareddependenciesfound:[WARNING]org.foo:bar-api:jar:1.7.5:compile在某些情况下,此消息是误报,并且依赖关系是可传递的。问题:如何在我的pom.xml中识别出这种情况? 最佳答案 您应该在pom中配置ignoredDependencies元素:Listofdependenciesthatwillbeignored.Anydependencyo