草庐IT

const_cast-ed

全部标签

java - Java cast 运算符如何工作?

我正在尝试调试涉及Java中的ClassCastException的问题。为了解决这个问题,我需要知道当我从Object转换为特定类型时发生了什么。任何人都可以向我解释一下Java强制转换运算符在Java级别和JVM级别是如何工作的吗? 最佳答案 是JLS够好了吗?Castingconversionisappliedtotheoperandofacastoperator(§15.16):thetypeoftheoperandexpressionmustbeconvertedtothetypeexplicitlynamedbythec

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 - 使用注释的 Java 中的 Const 正确性?

是否存在允许我将Java方法注释为@Const的现有库,以便编译器(我假设使用apt)在更新字段或调用非@Const方法时标记错误field;并将参数注释为@Const,以便接受方法无法调用其任何非@Const方法,或更新其任何字段?(基本上,尝试使用注释向Java添加常量正确性;上面的问题中没有涵盖一些明显的细节,例如分配给/来自@Const类型的参数等)我找到了这个:http://confluence.atlassian.com/pages/viewpage.action?pageId=182158080但它似乎只能作为IDEA的一部分提供。根据下面的澄清请求,下面是示例代码来说明

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,这在技术上与没有括号的操作不同,因为它们也有优先级。但是,就这个示例而言,它将提供相同的结果,并且在所有意图和目的上都是等效的。

[C++] 类与对象(中)类中六个默认成员函数(2)-- 运算符重载 -- 取地址及const取地址操作符重载

 1、前言本篇我们以日期类来展开讲。对于一个日期,我们如何去比大小呢?对年月日依次进行比较可以,但是可以直接比较吗?我们可以看到,对于自定义类型的日期类直接去比较两个日期的大小是错误的,因此我们需要对运算符赋予特殊的功能,去实现可以对自定义类型的比较。这里有人会想,那我写一个比较大小的功能函数不也可以实现,对的,但是不建议这样。如果我们是多人协同写工程的时候,我的比较大小功能函数名字与别人想起的名字不同,最后合代码的时候,还要去找特定功能的函数名,这样就会影响开发的效率。为了避免这样的情况发生,C++引入了运算符重载的概念。下面我们就来看看如何来实现。2、运算符重载C++为了增强代码的可读性引

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

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

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

【C++】C 语言 和 C++ 语言中 const 关键字分析 ( const 关键字左数右指原则 | C 语言中常量的原理和缺陷 | C++ 语言中常量原理 - 符号表存储常量 )

文章目录一、C语言const关键字简介-左数右指原则1、const关键字左数右指原则2、代码示例-const关键字左数右指原则3、const关键字使用场景二、C语言const关键字原理分析1、C语言中常量的原理和缺陷2、代码示例-C语言中直接改变常量值报错3、代码示例-C语言中使用常量地址修改常量值三、C++语言const关键字-符号表存储常量1、C++语言中常量原理2、代码示例-分析指针指向的值和实际常量值一、C语言const关键字简介-左数右指原则【C语言】const关键字用法(常量指针-const在*左边-修饰数据类型-内存不变|指针常量-const在*右边-修饰变量-指针不变)1、co

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