问题标签 [instanceof]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 实现某个接口并具有特定超类的参数:泛型还是 instanceof?
我希望对特定设计提供一些帮助。这是我希望工作的代码:
换句话说,Canvas 应该实现接口规范,但是绘图方法应该只处理实现 JPGExportable 的 Square 和 Circle 的子类。
据我所知,有两种可行的解决方案,但我认为这两种解决方案都不是很漂亮:
实际上 Square 和 Circle 是相当不同的,为什么一个通用的超类不能包含任何通用代码。此外,实现 JPGExportable 的超类会感觉......错了;这确实是一个子功能。
我不喜欢泛型方式的一个根本原因是我需要处理 7 种不同的类型。也许我很挑剔,但是连续出现 7 次“T extends Type”看起来很难看。
- 有没有看起来更好的第三种解决方案?
- 如果不是,这两者中哪个“更好”?
java - 有没有比使用 instanceof 更好/更干净的方法来有条件地创建类型?[爪哇]
假设我有:
问题是 MobileSuitCollection 是一个接口,所以我无法实例化它。例如,我可以这样做:
等等。但是,要操作temporaryCollection
,我需要它与通过参数传递给我的类的类型相同。所以我想这样做:
然而,我意识到这很糟糕。有一个更好的方法吗?是否可以保留对初始类型使用的类的引用,然后用它实例化temporaryCollection
?
javascript - Javascript继承-instanceof不起作用?
我正在使用 javascript 和 html5 编写一个简单的平台游戏。我以 OO 方式使用 javascript。为了让继承工作,我正在使用以下内容;
为了这篇文章,请考虑以下示例;
据我了解,我希望看到一个 horray 警报框,因为 C 是 C & B & A 的一个实例。我错了吗?还是我只是使用了错误的方法来检查?还是 copyPrototype 破坏了 instanceof 运算符?
一如既往地感谢您花时间阅读本文!
肖。
java - 具有抽象参数和继承的Java抽象方法
我最近在一个 API 和一个实现中遇到了一个问题,其中出现了以下类型的代码:
实现是一个简单的类:
在使用它时,我写道:
结果是:
我知道 B 的 sum 不会覆盖 A 的 sum,因为它的签名不同,但我想为有效类型 B 的对象提供 sum 的有效实现。我认为这样的设计非常经典,我想知道我如何应该设计我的 API 和实现,使其高效。
当然,我可以sum(A a)
在 B 类中提供并检查 b 是否是instanceof
B,然后再调用其中之一sum(B b)
或 super,但我认为instanceof
出于效率原因应该避免这种情况。(如果效率低下,我的抽象实现可能效率更低)
java - instanceof Double/Object 不起作用:(
java的instanceof有问题。这是给我带来麻烦的代码差距:
...更多代码...
所以,我的问题是,如果条件不会变为真。中的那些元素currentSummary
要么是要么null
是-Double
值。我试图拒绝null
. 起初我只是添加了它们,NullPointerException
后来又遇到了,因为一些(但不是全部!)元素是null
. 的示例元素currentSummary
是例如 [null, 0.09861866469135272, 10.137051035535745, 107.12083740100329, 371.4371264801424, 827.432799544501, 1206.251577083686]。
有人知道为什么instanceof
在这种情况下不起作用?我也试过currentSummary.getFirst() instanceof Object
...
提前致谢!
apache-flex - Flex中的mxml继承。“instanceof”和“is”如何工作?
早些时候我使用了以下结构:
当我觉得在我的应用程序中需要通用逻辑时,我会执行以下操作:
所以当我尝试在我的代码中应用它时
这是行不通的!当我在调试器中看到时,孩子的类型为“Screen2”,但“孩子是屏幕”返回 false 给我(和“孩子 instanceof 屏幕”也是)。当我应用编译器密钥:“-keep-generated-actionscript”时,我可以看到 Screen2-generated.as 它包含
在此先感谢对不起我丑陋的英语=)
java - 检查注解是否属于特定类型
我正在使用反射来查看附加到类属性的注释是否属于特定类型。目前我正在做:
这让我觉得有点笨拙,因为它依赖于一个完全限定类名的字符串。如果将来命名空间发生变化,这可能会导致细微的错误。
我想要做:
但是javax.validation.Valid
是一个抽象类,不能实例化。有没有办法针对接口或抽象类模拟instanceof
(或基本上使用)?isInstance
php - 函数 __autoload & 使用 require_once / 忽略某些实例
我正在为某个库使用自动加载功能......但我正在尝试实现 Doctrine,但我收到了 500 内部服务器错误。
我相信它是因为我正在创建 = 新实例并在自动加载中......它检查了一个不同的目录。
有没有办法创建将忽略自动加载功能的类的新实例?或者我应该移动我的自动加载功能检查的目录中的所有学说文件......理想情况下,我不想这样做以在我的项目中保留库的结构。
java - 如何测试一个java类是否在运行时扩展了另一个?
如何测试是否a
是 的子类b
?
java - 为什么这个 instanceof 代码可以工作并且不会导致编译时错误?
在下面的代码中,x 的类型是 I(虽然 x 也实现了 J,但在编译时不知道)那么为什么 (1) 处的代码不会导致编译时错误。因为在编译时只考虑引用的类型。