Вопросы с тегом «instanceof»

instanceof - это оператор, доступный в некоторых объектно-ориентированных языках, включая Java, php и JavaScript. Вообще говоря, это позволяет программисту проверить, является ли объект, переданный в качестве его левого операнда, экземпляром класса, указанного правым операндом.

1438
Получение имени класса экземпляра?

Как узнать имя класса, который создал экземпляр объекта в Python, если функция, из которой я делаю это, является базовым классом, из которого был получен класс экземпляра? Я думал, что модуль проверки мог бы помочь мне здесь, но, похоже, он не дает мне то, что я хочу. И если не считать анализа...

458
В чем разница между instanceof и Class.isAssignableFrom (…)?

Что из следующего лучше? a instanceof B или B.class.isAssignableFrom(a.getClass()) Единственное различие, о котором я знаю, состоит в том, что когда 'a' равно нулю, первое возвращает false, а второе выдает исключение. Кроме этого, они всегда дают один и тот же...

315
Влияние на производительность использования instanceof в Java

Я работаю над приложением, и один подход к проектированию предполагает чрезвычайно интенсивное использование instanceofоператора. Хотя я знаю, что дизайн ОО, как правило, старается избегать использования instanceof, это другая история, и этот вопрос связан исключительно с производительностью. Мне...

313
Что такое оператор instanceof в JavaScript?

instanceofКлючевое слово в JavaScript может быть довольно запутанным , когда он впервые встречается, так как люди склонны думать , что JavaScript не является объектно-ориентированный язык программирования. Что это? Какие проблемы это решает? Когда это уместно, а когда нет?...

267
Можно ли использовать оператор instanceof в операторе switch?

У меня есть вопрос об использовании регистра переключателя для instanceofобъекта: Например: моя проблема может быть воспроизведена на Java: if(this instanceof A) doA(); else if(this instanceof B) doB(); else if(this instanceof C) doC(): Как бы это было реализовано с помощью...

186
Javascript! Instanceof If заявление

Это действительно простой вопрос, чтобы удовлетворить мое любопытство, но есть ли способ сделать что-то вроде этого: if(obj !instanceof Array) { //The object is not an instance of Array } else { //The object is an instance of Array } Ключ здесь в состоянии использовать НЕ! перед экземпляром. Обычно...

174
Любая причина, чтобы предпочесть getClass () над instanceof при создании .equals ()?

Я использую Eclipse для генерации .equals()и .hashCode(), и есть опция с надписью «Использовать instanceof» для сравнения типов ». По умолчанию этот параметр отключен и используется .getClass()для сравнения типов. Есть ли какой - либо причине я предпочитаю .getClass()более instanceof? Без...

163
Для чего используется оператор instanceof в Java?

Для чего используется instanceofоператор? Я видел такие вещи, как if (source instanceof Button) { //... } else { //... } Но все это не имело смысла для меня. Я провел свое исследование, но придумал только примеры без каких-либо...

135
Java: Экземпляр и Обобщения

Прежде, чем я просматриваю свою общую структуру данных для индекса значения, я хотел бы видеть, параметризован ли он даже экземпляру типа this. Но Затмение жалуется, когда я делаю это: @Override public int indexOf(Object arg0) { if (!(arg0 instanceof E)) { return -1; } Это сообщение об ошибке:...

114
instanceof против getClass ()

Я вижу прирост производительности при использовании оператора getClass()и оператора.==instanceOf Object str = new Integer("2000"); long starttime = System.nanoTime(); if(str instanceof String) { System.out.println("its string"); } else { if (str instanceof Integer) { System.out.println("its...

102
Как избежать instanceof в Java

Наличие цепочки операций instanceof считается «запахом кода». Стандартный ответ - «использовать полиморфизм». Как бы я это сделал в таком случае? Есть несколько подклассов базового класса; ни один из них не находится под моим контролем. Аналогичная ситуация была бы с классами Java Integer, Double,...

99
Как узнать, является ли объект массивом, не используя отражение?

Как я могу увидеть в Java, является ли объект массивом без использования отражения? И как я могу перебирать все элементы без использования отражения? Я использую Google GWT, поэтому мне не разрешено использовать отражение :( Я хотел бы реализовать следующие методы без использования рефлексии:...

93
Почему instanceof в TypeScript выдает ошибку «Foo относится только к типу, но здесь используется как значение»?

Я написал этот код interface Foo { abcdef: number; } let x: Foo | string; if (x instanceof Foo) { // ... } Но TypeScript дал мне эту ошибку: 'Foo' only refers to a type, but is being used as a value here. Почему это происходит? Я думал, что это instanceofможет проверить, имеет ли мое значение...

88
Оператор instanceof ведет себя по-разному для интерфейсов и классов.

Я хотел бы знать о следующем поведении instanceof оператора в Java. interface C {} class B {} public class A { public static void main(String args[]) { B obj = new B(); System.out.println(obj instanceof A); //Gives compiler error System.out.println(obj instanceof C); //Gives false as output } }...

87
Есть ли что-то вроде instanceOf (Class <?> C) в Java?

Я хочу проверить, является ли объект oэкземпляром класса Cили подкласса C. Например, если pимеет класс Pointя хочу x.instanceOf(Point.class)быть , trueа также x.instanceOf(Object.class)быть true. Я хочу, чтобы это работало также для примитивных типов в штучной упаковке. Например, если xесть,...