jjzjj

objc_getClass

全部标签

java - 如何使用 getClass() 判断对象是否为数字?

我想动态判断Java中的对象是否为数字。我的代码如下:if(obj.getClass().equals(Number.class)){attributeTypeStr="Numeric";}else{attributeTypeStr="Non-Numeric";}Objectobj可以是任何数字类型,如Integer、Float、Double等。但是当我用Integer/Float/Double测试它时code>,attributeTypeStr总是返回"Non-Numeric"。我猜这是因为Integer/Float/Double是Number的子类,但是Number.class不等

java - 将 Java 代码移植到 ObjC 时,如何最好地表示已检查的异常?

我正在努力将Java代码库移植到Cocoa/Objective-C,以便在桌面MacOSX上使用。Java代码有很多和很多方法,并已检查异常(exception)情况如:doubleasNumber()throwsFooException{...}在Objective-C中表示这些的最佳方式是什么?异常或错误输出参数?-(CGFloat)asNumber{...//possibly[FooExceptionraise:format:];}或-(CGFloat)asNumberError:(NSError**)outError{...}我感觉输出错误通常是Objective-C的更好解决

java - Java 中通用方法参数的 getClass()

以下Java方法编译失败:voidfoo(Tt){Classklass=t.getClass();}收到的错误是:类型不匹配:无法从Class转换至Class谁能解释为什么Class无效,但是Class还好吗?Javadoc说:TheactualresulttypeisClasswhere|X|istheerasureofthestatictypeoftheexpressiononwhichgetClassiscalled.Forexample,nocastisrequiredinthiscodefragment:Numbern=0;Classc=n.getClass();

java - 在接口(interface)上使用 .getclass()

这可能是一个非常简单的问题。嘿,我是一名学生,对Java还比较陌生,我目前正在为明天的期中考试而学习。我遇到的练习题之一是当你有类似的东西时会发生什么:System.out.println(interface1.getClass().getName());interface1已声明为interface1=class1。我很确定它会打印“class1”而不是“interface1”,因为interface1不是一个类,对吗?但我不确定,因为问题还说如果它产生编译时错误,那么就这么说。我们的教授以欺骗我们而闻名,而且一旦我拿回测验并且仍然对为什么我做错了问题感到困惑。

Java:T对象; obj.getClass() 的类型是 Class<?> 而不是 Class<?延伸 T>。为什么?

在这样的函数中:voidfoo(Tobj)obj.getClass()的类型是Class而不是Class.为什么?下面的代码工作正常:Stringfoo="";ClassfooClass=foo.getClass();所以T#getClass()的签名似乎返回一个Class,对吧?如果T为什么签名不同真的是泛型吗?为了克服这个问题(并且让我更清楚我在徘徊什么),我实现了这个功能:@SuppressWarnings("unchecked")staticClassclassOf(Tobj){return(Class)obj.getClass();}问题又来了:为什么这里需要类型转换而不是S

java - this.getClass().getFields().length;总是返回 0

这个问题在这里已经有了答案:javareflectiongetFieldsforprivatemember|accessingobjectnamevaluedynamically(2个答案)关闭9年前。我正在尝试获取特定类中的字段数。然而,我使用的技术不起作用,总是返回0:this.getClass().getFields().length;如何获取特定类的字段数?

c# - Java 的 getClass()、isAssignableFrom() 等的 c# 等价物是什么?

我正在从Java转换为C#,代码类似于:ClassrefClass=refChildNode.getClass();ClasstestClass=testChildNode.getClass();if(!refClass.equals(testClass)){//Dosomething}和其他地方使用Class.isAssignableFrom(Classc)...和类似的方法是否有类比较、属性和代码绕过的直接等价物表?(只是为了停止来自IDE的关于泛型的警告。我们将不胜感激更好的解决方案) 最佳答案 TyperefClass=re

java - ClassLoader.getSystemResourceAsStream 和 getClass().getResourceAsStream() 的区别

给定这段代码:/*1*/InputStreamin1=ClassLoader.getSystemResourceAsStream("foobar.txt");/*2*/InputStreamin2=this.getClass().getResourceAsStream("/foobar.txt");两者是否返回相同的资源(我认为答案是"is")?它们都访问“相同”的类路径吗?为什么#1中的方法名称是“getSystemResourceAsStream”,而对于#2它只是“getResourceAsStream”?谢谢 最佳答案 关键

java - 为什么 Class.getClass() 可以不同于 Class.cast() 返回类型?

我希望你能在这件事上帮助我。我一直在寻找这个问题的答案,但我能找到的都与泛型类型的使用或关于反射的一般说明有关。假设我们有一个父类和一个扩展该父类的子类。所以,请看下面:Parentv=newChild();如果我创建v.getClass(),它会返回Child。但是,如果我创建v.getClass().cast(),它会返回类型为Parent的对象。有人知道为什么会这样吗?我也看了看JavaAPI文档,找不到原因...感谢您的任何想法。 最佳答案 对象的运行时类型与变量或表达式的编译时类型之间存在重要区别。表达式的编译时类型只能根

java - getClass().getResource() 总是返回 null

我正在尝试在我的src文件夹中设置位于我的资源文件夹中的图像的URL。它总是将URL设置为空。图像在那里,一切都被正确命名。问题是什么?谢谢!我的文件结构:sp1来源资源01.png这是我尝试设置图片URL的代码:this.setImagePath(getClass().getResource("/resources/01.png"));setImagePath正在执行此操作,我确定这不是问题所在,因为我跟踪了执行并将其设置为null。publicfinalvoidsetImagePath(URLimagePath){this.imagePath=imagePath;}解决方案我必须清