草庐IT

cross-cast

全部标签

java.lang.ClassException : A cannot be cast into B 异常

我实现了这段代码:classA{//somecode}classBextendsA{//somecode}classC{publicstaticvoidmain(String[]args){Bb1=(B)newA();Aa1=(B)newA();}}这两行,分别编译时,编译正常,但给出运行时错误出现java.lang.ClassException:AcannotbecastintoB。为什么它们编译很好,但运行时出错? 最佳答案 类型A的变量可以存储对类型A或其子类型的对象的引用,就像在您的案例类B中一样。所以有可能有这样的代码:A

java - "Double casting"

我目前正在辅导一名高中生的APJava,她问了我一个关于“双重类型转换”的问题。我以前从未听说过这个术语,但显然她的老师希望她在即将到来的期末考试中知道它。她的老师提供的示例是,如果您想将整数转换为字符串,则必须执行以下操作才能避免编译器错误:Integeri=newInteger(5);Strings=(String)(Object)i;问题是:你什么时候想在现实生活中这样做?老师只提供了导致运行时错误的例子。另外,我从来不知道有一个术语来描述这个,但这样做似乎是个坏主意,因为只有当两种类型不兼容时才会出现错误。谢谢! 最佳答案

java - java中casting的优先级是什么?

如果我有一行代码是这样的ints=(double)t/2是不是一样ints=(double)(t/2)或ints=((double)t)/2? 最佳答案 参见thistableonoperatorprecedence让事情更清楚。简而言之,强制转换优先于除法运算,因此它会给出与相同的输出ints=((double)t)/2;作为knoightpointedout,这在技术上与没有括号的操作不同,因为它们也有优先级。但是,就这个示例而言,它将提供相同的结果,并且在所有意图和目的上都是等效的。

java - 相机 API : Cross device issues

我正在开发一个相机应用程序,基本上是作为消息传递应用程序的一部分来附加图像等。该应用程序需要适用于>=SDK2.2并且:我不能尽可能多地使用默认的Android相机,因为:应用程序的性质决定了不应将图像保存到磁盘,一些OEM(三星)喜欢这样做而不给您选择。我无法调用任何其他相机应用程序可以拦截的Intent,因为那样该应用程序就可以保存图像。我目前的问题是处理Android相机显然不喜欢纵向拍摄的事实。具体来说,经过一些挖掘后,我正在监视显示,并在旋转时调用setDisplayOrientation(90)。这可行,但还需要更改表面View尺寸,并且必须在支持的尺寸内完成,否则参数设置

java - ClassCastException 与 "cannot cast"编译错误

正在为我的OCAJavaSE7程序员I考试学习,新手问题。我有一个我不明白的示例问题。以下代码可以编译,但会在运行时抛出ClassCastException:interfaceRoamable{}classPhone{}publicclassTabletextendsPhoneimplementsRoamable{publicstaticvoidmain(String...args){Roamablevar=(Roamable)newPhone();}}当我将Roamablevar=(Roamable)newPhone();更改为Roamablevar=(Roamable)newStr

【论文笔记】Boros: Secure Cross-Channel Transfers via Channel Hub

原文:https://arxiv.org/pdf/1911.12929.pdf学习一下人家的论文怎么写的摘要:针对支付网络通道的主要问题——多条路由的交易需要路径上节点锁定一笔交易,来辅助完成这笔跟他无关的交易,这样的设计一方面限制了中间节点的资金流动性,一方面有时会导致死锁进而交易失败。多跳支付的路径越长,以上问题越明显。论文设计了一个channelhub,是paymenthub(Nocust)的拓展。在一个hub内的支付通道之间可以直接进行交易,作者设计了一个Boros协议,让跨支付通道的交易可以依赖channelhub,安全快速地进行。作者还使用UC框架对协议进行了形式化安全证明,提出了

java - 为什么显示 java.lang.ClassCastException : android. text.SpannableString cannot be cast to java.lang.String?

从任何浏览器页面复制String时,pasteData可以正常工作。但是,当从消息发送项编辑器(字段)复制SpannedString时,应用程序崩溃并显示此错误消息:java.lang.ClassCastException:android.text.SpannableStringcannotbecasttojava.lang.String我的代码://sincetheclipboardcontainsplaintext.ClipData.Itemitem=clipBoard.getPrimaryClip().getItemAt(0);//Getstheclipboardastext.S

Cross-Compile QT6.5.0 for X3Pi

Cross-CompileQT5.15.91.交叉编译Qt6.5.01.1使用源码编译cmake1.2安装Node.js(14或以上)和npm1.3Host安装依赖包和编译Qt1.3.1依赖包1.3.2cmake1.3.3编译和安装1.4Target安装依赖包和编译Qt1.4.1升级系统1.4.2查找指定文件属于哪个包1.4.3pkg-config检查dbus-1是否安装1.4.4安装裁剪完整依赖包1.4.5安装完整依赖包1.4.6把sysroot从Target同步到Host1.4.7cmake1.4.8编译和安装1.4.9布署Qt到target板1.5编译和运行Qt应用2.在QtCreato

java - PowerMock 和 Java 8 问题 : InterfaceMethodrefInfo cannot be cast to MethodrefInfo

我在尝试使用PowerMock和Mockito执行单元测试时遇到问题。我需要PowerMockito来模拟静态方法。这些是我使用的版本:PowerMock1.6.2Mockito1.10.19JUnit4.12Java8当我添加注解@PrepareForTest(Graph.class)时,出现以下错误:java.lang.IllegalStateException:Failedtotransformclasswithnamename.of.my.package.GraphUtil.Reason:javassist.bytecode.InterfaceMethodrefInfocann

Java 8 Stream API : Filter on instance, 和 cast

这个问题在这里已经有了答案:IsitpossibletocastaStreaminJava8?(5个答案)关闭6年前。我有一个对象列表:ListmyList;我想获取此列表中可用的子类型列表:ListmyChildList=myList.stream().filter(e->einstanceofSomeChildType).collect(??????)我不知道如何收集以获得正确的列表类型。