это против typeof

Решено.

Проверяется в разделе UI-Swing учебника Java.

Каждый компонент GUI может содержаться только один раз. Если компонент уже находится в контейнере, и вы пытаетесь его добавить в другой контейнер, компонент будет удален из первого контейнера, а затем добавлен ко второму. Blockquote>

140
задан ilitirit 8 October 2008 в 20:25
поделиться

3 ответа

Это должно ответить на тот вопрос, и затем некоторых.

вторая строка, if (obj.GetType() == typeof(ClassA)) {}, быстрее для тех, которые не хотят читать статью.

160
ответ дан TankorSmash 8 October 2008 в 20:25
поделиться
  • 1
    Решенный, что это было лучшим из альтернатив. К сожалению, не точно, что я хотел - о, хорошо.. Спасибо! – Matt 22 June 2010 в 09:01

Они не делают того же самого. Первый работает, если obj имеет тип ClassA или некоторого подкласса ClassA. Второй будет только соответствовать объектам типа ClassA. Второй будет быстрее, так как он не должен проверять иерархию классов.

Для тех то, кто хочет знать причину, но не хотеть читать статью, на которую ссылаются в , по сравнению с typeof.

25
ответ дан Community 8 October 2008 в 20:25
поделиться
  • 1
    Ahh извините, я забыл включать требование... Считайте редактирование для обновления. – Matt 20 June 2010 в 16:07

Это имеет значение, который быстрее, если они не делают того же самого? Сравнение производительности операторов с различным значением походит на плохую идею.

is говорит Вам, если объект реализует ClassA где-нибудь в его иерархии типа. GetType() говорит Вам о больше-всего-производном-типе.

Не то же самое.

184
ответ дан Jay Bazuzi 8 October 2008 в 20:25
поделиться
  • 1
    О, ошеломите Denis, Вы действительно помогали мне прошлые дни пары.. Человек спасибо! – Matt 22 June 2010 в 09:01
Другие вопросы по тегам:

Похожие вопросы: