Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
69 / 69 / 39
Регистрация: 22.05.2014
Сообщений: 311

Как проверить класс обьекта

21.09.2014, 00:18. Показов 1390. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день(вечер, ночь или утро - возможно у нас разный часовой пояс)
Есть обьект какого нибудь класса, ну например

String obj = "";

Я хочу узнать тип этого обьекта(ну точнее сравнить его с другим каким то типом)

как правильно:

Java
1
if (obj.getClass() == Class.forName("Number"))
или

Java
1
if (obj.getClass().equals(Class.forName("Number")))
я проверял у себя в коде и мне странно что и то и то одинаково работает правильно
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.09.2014, 00:18
Ответы с готовыми решениями:

Изменили класс обьекта через jQuery. Как оставить класс неизменным после перезагрузки страницы?
Вообщем имеется сайт на вордпрес. есь скрип который при первом клике по обьекту присваивает переменной этот самый обьект а при втором клике...

Как проверить существование динамического обьекта?
День добрый, возникла проблема с проверкой существования динамически созданного объекта. Суть такова: пользователь нажимает на кнопку,...

Проверить существование обьекта по указателю
Всем доброго времени суток. У меня есть такой Класс Enemy. И соответственно есть указатель Enemy* computerEnemy; Позже - мне необходимо...

3
31 / 31 / 34
Регистрация: 22.08.2014
Сообщений: 108
21.09.2014, 01:18
Добрый вечер.

В первом случае проверяется эквивалентность ссылок, а т.к. в runtime существует только один объект класса Class для вашего Number, то вы имеете дело с ссылками на один и тот же объект.

Во втором случает класс Class не переопределяет метод equals, поэтому идем в Object и видим:
Java
1
2
3
    public boolean equals(Object obj) {
        return (this == obj);
    }
что эквивалентно первому случаю.

Но я думаю вам стоит использовать instanceof, который позволяет проверить является ли объект проверяемым типом.
Если вам нужна динамичность, используйте isInstance()
1
69 / 69 / 39
Регистрация: 22.05.2014
Сообщений: 311
21.09.2014, 21:46  [ТС]
Цитата Сообщение от DanilArefyev Посмотреть сообщение
в runtime существует только один объект класса Class
понял, спасибо

Цитата Сообщение от DanilArefyev Посмотреть сообщение
вам стоит использовать instanceof
почему?
Цитата Сообщение от DanilArefyev Посмотреть сообщение
используйте isInstance()
а это что такое?
0
31 / 31 / 34
Регистрация: 22.08.2014
Сообщений: 108
21.09.2014, 21:55
Лучший ответ Сообщение было отмечено EdisonMiranda как решение

Решение

По первому почему, читайте здесь:
http://stackoverflow.com/quest... ing-equals
По второму, вот доки:
http://docs.oracle.com/javase/... Class.html
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.09.2014, 21:55
Помогаю со студенческими работами здесь

Передача обьекта из класса в класс формы, Передача обьекта из класса в класс формы
Здравствуйте! У меня есть класс в отдельной MyClass.cs и клас формы Form1.cs. Как мне из сласса MyClass получать данные с формы,...

Как проверить, инициализирован ли класс?
Здравствуйте ! Долго объяснять не буду, зачем это нужно. Сейчас я это делаю через флаг: инициализировал класс + выставил флаг. По...

Исключительный доступ обьекта к полям другого обьекта avr/c++
исключительный доступ обьекта к полям другого обьекта avr/c++ добрый день есть два обьекта Data & Math - Data - элемент...

Как проверить на какой класс ссылается указатель?
То есть допустим есть базовый класс class A и производные class B:public A; class C:public A; также есть ссылка A *s; ...

Как проверить реализует ли класс конкретный интерфейс?
Имею собственный список ItemList(Of T), аналог List, но с событиями В результате T может принимать любой класс Дополнительно если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru