草庐IT

conversion

全部标签

java - "possible lossy conversion"是什么意思,我该如何解决?

新的Java程序员经常对编译错误消息感到困惑,例如:"incompatibletypes:possiblelossyconversionfromdoubletoint"对于这行代码:intsquareRoot=Math.sqrt(i);一般而言,“可能的有损转换”错误消息是什么意思,如何解决? 最佳答案 首先,这是一个编译错误。如果您在运行时在异常消息中看到它,那是因为您运行的程序有编译错误1。消息的一般形式是这样的:"incompatibletypes:possiblelossyconversionfromto"哪里和都是原始数字

Java 允许将字节分配给 java.lang.Short 但不允许分配给 java.lang.Integer

finalbyteb=12;Shorts=b;Integeri=b;程序对Short编译良好,但对Integer编译失败并显示“不兼容类型”消息。我很难理解这种行为。对于这个特定场景,我找不到任何东西。 最佳答案 我试图用更广泛的分配上下文组来复制它:finalbyteb=12;Byteb2=b;Characterc=b;//Onlyanerrorifbisn'tfinalcharc2=b;//Onlyanerrorifbisn'tfinalShorts=b;//Onlyanerrorifbisn'tfinalshorts2=b;I

Java:将具有不同类型的参数传递给函数

在Java中,假设我们有一个带有参数doublea的函数。如果我传递一个整数作为参数,它会起作用吗?(我的意思是,是否存在隐式转换?)在相反的情况下:如果我有例如一个整数作为参数,我传递一个double?不幸的是,我现在无法编译我的代码,我想检查一下这个断言。感谢您的关注。 最佳答案 参见JLS-Section#5.3有关方法调用转换的详细信息。Methodinvocationcontextsallowtheuseofoneofthefollowing:-anidentityconversion(§5.1.1)-awideningp

java - 通用方法 - "unchecked conversion to conform to T from the type"警告

如果我有以下内容:publicinterfaceFoo{TgetBlah();}publicclassBarimplementsFoo{publicBargetBlah(){returnthis;}}我在Eclipse中收到有关Bar类中“getBlah”实现的警告:-Typesafety:ThereturntypeBarforgetBlahfromthetypeBarneedsuncheckedconversiontoconformtoTfromthetypeFoo我该如何解决这个问题?为什么我会收到警告?谢谢 最佳答案 您正在覆

java - Switch 语句给出不兼容的类型错误

我正在尝试编译,但出现此错误:enigma/Rotor.java:30:incompatibletypesfound:java.lang.Stringrequired:intswitch(name){1error为什么会出现此错误?我如何解决它?它在包装中,我似乎无法弄清楚。这是代码:Stringlabel;Rotor(){;}Rotor(Stringname){switch(name){case"B":conversion_chart=B;break;case"C":conversion_chart=C;break;case"I":conversion_chart=I;notch=N

java - 警告 :[unchecked] unchecked conversion

我收到以下警告:warning:[unchecked]uncheckedconversion[javac]found:java.util.List[javac]required:java.util.Listreturnquery.getResultList();可能是什么问题和可能的解决方案?我正在使用以下代码:@Stateless@Remote(Order.class)//@EntityListeners(MyListener.class)publicclassOrderBeanimplementsOrder{/***Theentitymanagerobject,injectedby

java - JSF CDI : Conversation scope bean[s] best practice

我目前正在学习JSF2.0,我很高兴这个对话范围功能的存在,这对于在同一页面上打开一个新选项卡或一个新窗口并拥有单独的资源非常有帮助,而不是相互覆盖.但我很好奇如何以一种好的方式实现这一点,关于何时开始对话以及何时结束对话。在我的例子中,我有每个JSF页面的每个CDIbean。假设我有一个菜单,当它被点击时,这将导致页面A,并且从A可能导致B,B可能导致C,C可能导致D,所有这4个页面都连接在一个页面上链。可以从B或C或Dbean访问A的bean属性,也可以从C或Dbean访问B的属性等等。现在我很困惑:是否所有这些ABCD应该是是否在对话范围内,或者也许只是一个?因为我觉得有时来自另

java - 包装类 - 为什么整型文字对 Long 失败但对任何更小的东西都有效

我只是想了解自动装箱,除了一件事:Shorts=250;Longl=250;Longl的赋值失败。我预计,这是因为你不能加宽thenbox(即它试图将int值250加宽到long然后将其装箱这是它做不到的)。但是,对Shorts的赋值是有效的。是什么让这一切变得美好?我的假设是它仍在进行装箱和某种转换。但是,如果它知道250适合short,为什么它不知道250适合long? 最佳答案 通常,您不能在赋值(JLS§5.2AssignmentConversion)中应用多个(隐式)转换:Assignmentconversionoccur

java - 类型安全 : The expression of type List needs unchecked conversion to conform to List<Object[]>

当我想启动一个Hibernate应用程序时,我总是收到类型安全警告。有没有一种方法可以在不使用@SuppressWarnings("unchecked")的情况下摆脱这种情况?这是我的代码:Configurationconfig=newConfiguration();config.addAnnotatedClass(Employee.class);config.configure("hibernate.cfg.xml");newSchemaExport(config).create(false,false);ServiceRegistryserviceRegistry=newStand

C++ 错误 : operator []: 2 overloads have similar conversions

templateclassv3{private:T_a[3];public:T&operator[](unsignedinti){return_a[i];}constT&operator[](unsignedinti)const{return_a[i];}operatorT*(){return_a;}operatorconstT*()const{return_a;}v3(){_a[0]=0;//works_a[1]=0;_a[2]=0;}v3(constv3&v){_a[0]=v[0];//Error1errorC2666:'v3::operator[]':2overloadshave