Вы можете использовать понимание списка:
>>> print([hour.get("saat") for hour in Hours])
['09:00', '09:20', '09:40', '10:00', '10:20', '10:40', '11:00', '11:20', '11:40']
Кроме того, помните, что вы можете изменить hour.get("saat")
только на hour["saat"]
:
>>> print([hour["saat"] for hour in Hours])
['09:00', '09:20', '09:40', '10:00', '10:20', '10:40', '11:00', '11:20', '11:40']
Кроме того, не уверены, что вы может понадобиться, но вы можете использовать str.join(iterable)
, если вы ищете только одну строку визуализации на консоли:
>>> print(", ".join([hour["saat"] for hour in Hours]))
09:00, 09:20, 09:40, 10:00, 10:20, 10:40, 11:00, 11:20, 11:40
Вы загружаете какие-либо типы динамично, потенциально от другого classloaders? Единственное время я видел по-видимому непоследовательные результаты, было, когда у меня было две строки кода, которые похожи, они обращаются к тому же типу, но которые на самом деле загрузили тот тип из другого classloaders.
instanceof
всегда возвраты false
для null
. Это не компилирует, если это было бы невозможно для статического типа, слева не может быть экземпляр указанного типа. Кроме этого, это должно работать без удивления.
В отличие от C++ (и я верю Smalltalk), объект не может изменить тип во времени выполнения. В C++ тип изменяется во время конструкции, так, чтобы методы нельзя было назвать от конструктора к производному классу [подкласс] методами.
Хорошо, проблема решена. Как обычно, проблема была менее странной, чем я думал. Проект я продолжаю работать, находится в неудачном условии наличия некоторых дублирующихся имен классов. Я создавал класс с помощью нечто. MyInterface и тестирующий, например, панели. MyInterface. Спасибо за ответы. Это действительно помогало мне продумать его.
Единственный глюк, о котором я знаю, является этим null
instanceof
никакой тип.
Пока у Вас нет classloading проблемы, instanceof работы последовательно. Я предполагаю, что Вы знаете, что instanceof B возвращает true, если A наследован от B или некоторых интерфейсов, реализации или классы A расширяются, instanceof B.
Если Вы получаете ложь, когда Вы ожидаете верный, Вы, вероятно, пытаетесь сравнить экземпляры, прибывающие из другого ClassLoaders.
Можно желать "isAssignable" вместо instanceof:
if (MyInterface.isAssignableFrom(myObject.getClass())) {
// do work here
}
Это возвратит true для классов, которые реализуют Ваш интерфейс.