powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Какие альтернативы есть у instanceOf
10 сообщений из 60, страница 3 из 3
Какие альтернативы есть у instanceOf
    #38051122
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНегодяй.не
я просто ссылку отправить хочу потом кое-кому, чтобы читали штоль
...
Рейтинг: 0 / 0
Какие альтернативы есть у instanceOf
    #38051264
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Есть абстрактный класс A
у него есть конкретные потомки A1 A2 A3
у клиента есть массив ссылок на A (соответственно там могут быть A1 A2 A3)
Я хочу произвести действия только над A1(например)
Просто слышал, что instanceOf - очень плохо использовать
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
abstract class A { }
class A1 extends A { }
class A2 extends A { }
class A3 extends A { }
...
List<A> lst = new ArrayList<A>();
lst.add(new A1()); lst.add(new A2()); lst.add(new A3());
lst.add(new A1()); lst.add(new A2()); lst.add(new A3());
lst.add(new A1()); lst.add(new A2()); lst.add(new A3());
for (A a: lst) {
    try {                                                                  
        A1 a1 = (A1)a;
        System.out.println(a1.getClass().getName());
    } catch (ClassCastException e) {                                       
        ...
    }                                                                       
    ...
}
...
Рейтинг: 0 / 0
Какие альтернативы есть у instanceOf
    #38051273
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerНе могу придумать, как избежать в менеджере перебора классов чтобы найти и отдать нужный сервис.
есть 2 аспекта.
1. Менеджер, это в некоторм роде API. Т.е. нижний слой программирования. Поэтому - "красиво", там неприменимо. Т.е. вполне нормально делать цикл за несколько-там миллисекунд.
OFF
2. Про красивость самого сервисного слоя мы говорили с тобой в августе.
Это тут offtop и лично, понимаю этот слой - так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void processTrade(TradeData trade)                  throws Exception 
{
   try 
   {
      // БЛ или проверки всякие
      TraderData trader =      service.getTrader(trade.getTraderID());
      validateTrader(trade, trader);

      service.insertTrade(trade); //тут первый кэш будет сброшен и синхронизирован.
      // последующая обработка POST
      performPost(trade, trader);
   } 
   catch (Exception up) 
   {
      ctx.setRollbackOnly();
      throw up;
   }
}

...
Рейтинг: 0 / 0
Какие альтернативы есть у instanceOf
    #38051301
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miha_S715:42 - мы хотим включить все жалюзи, а остальные девайсы не трогать. Если применять маркерный интерфейс, то мы должны вписать этот интерфейс в код класса. Ок, вписали, сделали, включили.
18:00 - хотим включить все световые приборы. Что делать? Для классов "световых" девайсов тоже интерфейс прописывать? Тогда они и в 15:42 сработают. Не? Или я где-то туплю?
Для каждого действия свой интерфейс, конечно же. Вижу мой подход как раз в вашу задачу вписывается.

Код: java
1.
2.
3.
4.
Collection<Lighting> lightings = devices.byType(Lighting.class);
for(Lighting lighting : lightings){
     lighting.light();
}
...
Рейтинг: 0 / 0
Какие альтернативы есть у instanceOf
    #38145449
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Blazkowicz]Miha_S7
Код: java
1.
2.
3.
4.
Collection<Lighting> lightings = devices.byType(Lighting.class);
for(Lighting lighting : lightings){
     lighting.light();
}



что за метод byType?
...
Рейтинг: 0 / 0
Какие альтернативы есть у instanceOf
    #38145678
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90,

Идите на темную сторону явы, у нас печеньки ! (с)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public final class A1 extends A {
	public static boolean commonState = false;	//false - off, true - on

}

public static void main(String[] args) {
		A1.commonState = true;
		A2.commonState = true;
	}



бугагагага (демонический смех)
...
Рейтинг: 0 / 0
Какие альтернативы есть у instanceOf
    #38147064
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин,

а серьезно? просто я созадю коллекцию, а такого метода не вижу
...
Рейтинг: 0 / 0
Какие альтернативы есть у instanceOf
    #38147382
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Озверин,

а серьезно? просто я созадю коллекцию, а такого метода не вижу

Вы знаете, что такое статические поля, методы?
...
Рейтинг: 0 / 0
Какие альтернативы есть у instanceOf
    #38147387
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Озверин,

а серьезно? просто я созадю коллекцию, а такого метода не вижу

Или вы о авторчто за метод byType??
Скорее всего имелся ввиду "свой" метод, что-нибудь вроде:

public class ExArrayList<T> extends ArrayList<T> {
public List<T> byType(Class cls) {
//формирование листа
//...
//
return list;
}
}
...
Рейтинг: 0 / 0
Какие альтернативы есть у instanceOf
    #38148573
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин,

дааа, я про свой метод
...
Рейтинг: 0 / 0
10 сообщений из 60, страница 3 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Какие альтернативы есть у instanceOf
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]