Skip to content

Tag: generics

Why java allows “var” to declare generic variable without specifying type, leading to runtime issue? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers. Want to improve this question? Add details and clarify the problem by editing this post. Closed 28 days ago. Improve this question Hi: this code get compiled: But with runtime issue. The list local variable is of ArrayList but not any ArrayList<xxx> generic type. Why java let

Using an Interface as a super type for Enum classes – problem with accessing Enum-specific methods

I’ve been attempting to implement an interface in my enums in order to have rules for a simulation I’m making. I am trying to access enum-methods such as values() and ordinal() (on objects). However, even with upper-bounding my classes with my interface name, I still cannot access these methods without overriding them in my interface, which won’t work. I’m trying

why is this still need to cast in java?

error right DefaultLiteProcessScope extends DefaultLiteProcessScope,but it is till need to be cast?why? Answer What you are doing here is wrong. You want to return some subtype of DefaultLiteProcessScope from the build method. However, you hard code the return type like this: new DefaultLiteProcessScope(). Now think of a slightly contrived example like this. And a client code that follows. Now, since

How to write a method that takes in a List of Integer, Float, Double and calculate the average?

I am trying to write a method that takes in a list of numeric values – eg List<Integer>, List<Float>, List<Double> etc – and give me the average. These are the errors I get: Operator ‘+’ cannot be applied to ‘capture<? extends java.lang.Number>’, ‘capture<? extends java.lang.Number>’ Answer OptionalDouble average() Where, OptionalDouble is a container object which may or may not contain

Instantiate generic classes with different constructor arguments

I have two similar classes, Foo and Bar And I’ve got two methods in another class that creates a Set of Foo (1st method) and Bar (2nd method) and are pretty much the same. The first one: And the second one: As you can see, both methods are pretty much the same so I thought I could use generics to

Passing generic types inner class

Here is following example: Is there a way just to pass the generic <String> one time? Actually the inner class should already know its type. Answer That is a limitation of the Java compiler. Although it looks obvious in this case that the type parameter must be String, inferring that is not as easy as it seems to be: The

DownCasting in generics in java

I am stuck in generics downcasting. Because I learn type erasure. When code compiles all parameterized types are converted to the upper bound if the bound is not defined then it changes to object. Gen Class GenDemo Class String str = strob.getob(); is converted to String implictly. how JVM converted strob.getob() to String. From where JVM found the strob.getob() is