Найдено результатов: 7

В чем смысл предупреждения о безопасности типа в некоторых приведениях Java дженериков?

В чем смысл предупреждения Java ?

Безопасность типов: приведение от объекта к List<Integer> фактически проверяется по списку стираемых типов

Я получаю это предупреждение, когда пытаюсь привести объект к типу с общей информацией, например, в следующем коде:

Object object = getMyList();
List<Integer> list = (List<Integer>) object;

java   generics   warnings   casting   type-safety    

448   1   16:03, 1st July, 2020


Как я могу переопределить метод EJB 3 session bean с общим аргументом - если это вообще возможно?

Предположим, у вас есть следующие EJB 3 interfaces/classes:

public interface Repository<E>
{
   public void delete(E entity);
}

public abstract class AbstractRepository<E>  implements Repository<E>
{
   public void delete(E entity){
      //...
   }
}

public interface FooRepository<Foo>
{
   //other methods
}

@Local(FooRepository.class)
@Stateless
public class FooRepositoryImpl extends
    AbstractRepository<Foo> implements FooRepository
{
   @Override
   public void delete(Foo entity){
      //do something before deleting the entity
      super.delete(entity);
   }
   //other methods
}

А затем еще один боб, который обращается к Бобу FooRepository :

//...
@EJB
private FooRepository fooRepository;

public void someMethod(Foo foo)
{
    fooRepository.delete(foo);
}
//...

Однако метод переопределения никогда не выполняется при вызове метода delete компонента FooRepository . Вместо этого выполняется только реализация метода delete, определенного в AbstractRepository .

Что я делаю неправильно или это просто ограничение Java/EJB 3, что дженерики и наследование еще не играют хорошо вместе ?

java   generics   inheritance   java-ee   ejb-3.0    

448   2   06:22, 17th August, 2020


Что это лучший способ, чтобы выполнить итерации через строго типизированный общего списка?

Как лучше всего перебирать строго типизированный универсальный список в C#.NET и VB.NET?

c#   .net   vb.net   generics   collections    

501   7   13:32, 27th August, 2020


Сортировка IList в C#

Так что сегодня я столкнулся с интересной проблемой. У нас есть веб-служба WCF, которая возвращает IList. На самом деле ничего особенного, пока я не захотел разобраться с этим.

Оказывается, интерфейс IList не имеет встроенного метода сортировки.

В конечном итоге я использовал метод ArrayList.Adapter(list).Sort(new MyComparer()) , чтобы решить эту проблему, но он просто показался мне немного "ghetto".

Я играл с написанием метода расширения, а также с наследованием от IList и реализацией моего собственного метода Sort(), а также приведением к списку, но ни один из них не казался слишком элегантным.

Поэтому мой вопрос заключается в том, есть ли у кого-нибудь элегантное решение для сортировки IList

c#   generics   sorting   ilist    

510   14   08:11, 8th August, 2020


Дженерики в c# и доступ к статическим членам Т

Мой вопрос касается c# и как получить доступ к статическим мемберам ... Ну, я действительно не знаю, как это объяснить (что в некотором роде плохо для вопроса, не так ли?) Я просто дам вам пример кода:

Class test<T>{
     int method1(Obj Parameter1){
         //in here I want to do something which I would explain as
         T.TryParse(Parameter1);

         //my problem is that it does not work ... I get an error.
         //just to explain: if I declare test<int> (with type Integer)
         //I want my sample code to call int.TryParse(). If it were String
         //it should have been String.TryParse()
     }
}

Так что спасибо вам, ребята, за ваши ответы (кстати, вопрос в том, как бы я решил эту проблему без получения ошибки). Это, наверное, довольно простой вопрос для вас!

Спасибо, Никлас


Edit: спасибо всем за ваши ответы!

Хотя я думаю, что фраза try - catch является самой элегантной, я знаю по своему опыту работы с vb, что это действительно может быть облом. Я использовал его один раз, и мне потребовалось около 30 минут, чтобы запустить программу, которая позже заняла всего 2 минуты для вычисления только потому, что я избегал try - catch.

Вот почему я выбрал утверждение swich в качестве лучшего ответа. Это делает код более сложным, но с другой стороны, я думаю, что он будет относительно быстрым и относительно легким для чтения. (Хотя я все еще думаю, что должен быть более элегантный способ ... может быть, на следующем языке, который я изучаю: P )


Хотя, если у вас есть какое-то другое предложение, я все еще жду (и готов принять участие)

c#   generics   static   methods   data-access    

507   12   02:35, 8th August, 2020


Список или BusinessObjectCollection?

До появления универсальных моделей C# все кодировали коллекции для своих бизнес-объектов, создавая базу коллекций, реализующую IEnumerable

IE:

public class CollectionBase : IEnumerable

и тогда они получат свои коллекции бизнес-объектов из этого.

public class BusinessObjectCollection : CollectionBase

Теперь с общим классом списка, кто-нибудь просто использует это вместо этого? Я обнаружил, что использую компромисс двух методов:

public class BusinessObjectCollection : List<BusinessObject>

Я делаю это, потому что мне нравится иметь строго типизированные имена, а не просто передавать списки.

Каков ваш подход?

c#   .net   generics   collections   class-design    

459   18   13:05, 8th August, 2020


Почему я не могу явно передать аргумент типа в универсальный метод Java?

Я определил функцию Java:

static <T> List<T> createEmptyList() {
    return new ArrayList<T>();
}

Один из способов назвать это так:

List<Integer> myList = createEmptyList(); // Compiles

Почему я не могу вызвать его, явно передавая аргумент универсального типа? :

Object myObject = createEmtpyList<Integer>(); // Doesn't compile. Why?

Я получаю ошибку Illegal start of expression от компилятора.

java   generics   syntax    

384   4   04:41, 18th August, 2020