问题标签 [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.

0 投票
24 回答
130933 浏览

java - 在 Java 中使用 instanceof 对性能的影响

我正在开发一个应用程序,一种设计方法涉及对instanceof运算符的大量使用。虽然我知道 OO 设计通常会尽量避免使用instanceof,但这是另一回事,这个问题完全与性能有关。我想知道是否有任何性能影响?是一样快==吗?

例如,我有一个包含 10 个子类的基类。在接受基类的单个函数中,我会检查该类是否是子类的实例并执行一些例程。

我想到的解决它的其他方法之一是改用“type id”整数原语,并使用位掩码来表示子类的类别,然后将子类“type id”与一个位掩码进行比较表示类别的常量掩码。

JVM是否instanceof以某种方式优化了比这更快的速度?我想坚持使用 Java,但应用程序的性能至关重要。如果以前曾经走过这条路的人可以提供一些建议,那就太酷了。我是不是吹毛求疵,还是专注于优化错误的事情?

0 投票
10 回答
117779 浏览

javascript - 为什么 instanceof 对某些文字返回 false ?

数组字面量和对象字面量匹配...

为什么不是全部?或者,为什么他们不都没有
那么,它们是什么例子呢?

在 FF3、IE7、Opera 和 Chrome 中也是如此。所以,至少它是一致的。

0 投票
5 回答
76889 浏览

c# - 什么是 C# 等价于 Java 的 isInstance()?

我知道isand asfor instanceof,但是反射isInstance()方法呢?

0 投票
14 回答
272479 浏览

java - instanceof 和 Class.isAssignableFrom(...) 有什么区别?

以下哪个更好?

或者

我知道的唯一区别是,当“a”为空时,第一个返回 false,而第二个抛出异常。除此之外,他们总是给出相同的结果吗?

0 投票
5 回答
180250 浏览

java - C++ 等价于 java 的 instanceof

实现 C++ 等效于 java 的首选方法是instanceof什么?

0 投票
10 回答
1251922 浏览

python - 获取实例的类名?

如果我正在执行此操作的函数是派生实例类的基类,我如何找出在 Python 中创建对象实例的类的名称?

在想也许检查模块可能在这里帮助了我,但它似乎并没有给我想要的东西。并且缺少解析__class__成员,我不确定如何获取此信息。

0 投票
11 回答
132651 浏览

java - 在生成 .equals() 时,有什么理由更喜欢 getClass() 而不是 instanceof?

我正在使用 Eclipse 生成.equals()and .hashCode(),并且有一个标记为“使用'instanceof'来比较类型”的选项。默认情况下未选中此选项并用于.getClass()比较类型。有什么理由我应该更喜欢.getClass()instanceof

不使用instanceof

使用instanceof

我一般勾选instanceof选项,然后进去去掉“ if (obj == null)”勾选。(这是多余的,因为空对象总是会失败instanceof。)有什么理由是个坏主意吗?

0 投票
6 回答
8071 浏览

java - instanceof 检测接口产生不一致的结果?

有什么棘手的事情我应该知道instanceof吗?我通过一些方法传递了一个对象列表,并测试这些对象是否使用instanceof. 在某些情况下,instanceof正确地将对象识别为实现了接口,而在其他情况下则没有。它似乎给我在不同地方的同一个对象上不一致的结果。我应该在这里注意什么技巧/陷阱?

期待您的评论,您可能有:

1)我知道这instanceof是不好的形式。我正在使用一个无法更改的不太完美的对象层次结构,这是我能想到的最不坏的事情。

2)我正在创建一个代码示例,但如果我要在此处粘贴任何有用的内容,我需要大量简化我的代码。与此同时,如果你以前看过这个并且可以阐明一些问题,请这样做。

0 投票
4 回答
355 浏览

java - 如何在没有 instanceOf 的情况下实现我的 LayoutManager?

对于我正在处理的某个布局,我需要制作自己的LayoutManager.

它将根据它们的类型来布置不同的组件:Labels 以一种方式,Separators 以另一种方式,以及其他所有方式以第三种方式。

如果我制定一个方法,我可以轻松实现这一点并确定不同类型组件的不同位置:

有没有更好的方法来做到这一点,而不使用instanceOf

(不,我不必自己做LayoutManager,但如果我这样做的话,事情会变得非常容易;))

提前致谢

/乙

0 投票
2 回答
248 浏览

c# - 如何查找类的对象是否存在

在我的 ListBoxItem MouseEnter 事件中,我正在使用以下代码创建一个新窗口。

当鼠标离开当前项目时,我想关闭窗口。

我怎么做?

非常感谢。