Clean Java8 typecasts!

Clean Java8 typecasts!

As the title says. I don't really like Java's old-fashioned typecast syntax. It's a dynamic data manipulation, but I have to use a mysterious syntax. Is it derived from C language? This is where I want to write functionally. First of all, from the example. I think there are two ways to write it.

SomeClass instance = (SomeClass) anotherClassInstance;          // 1
SomeClass instance = SomeClass.class.cast(anotherClassInstance) // 2

No. 1 is the one you want to avoid, No. 2 is good, but one line tends to be long. So I thought about this.

public class As {
    public static <T> T of(Object value) {
        return (T) value;
    }
}

If you use this, you can write fairly neatly as shown below.

SomeClass instance = As.of(anotherClass);

If you are using lombok, it looks like this.

val instance = As.<SomeClass>of(anotherClass);

that's all!

Recommended Posts

Clean Java8 typecasts!
Java
Java
Java learning (0)
Studying Java ―― 3
[Java] array
[Java] Annotation
[Java] Module
Java array
Java tips, tips
Java methods
Java method
java (constructor)
Java array
[Java] ArrayDeque
java (override)
java (method)
Java Day 2018
java (array)
Java static
Java serialization
JAVA paid
Java (set)
java shellsort
Studying Java -5
java reflexes
java (interface)
Java memorandum
☾ Java / Collection
Studying Java ―― 1
[Java] Array
[Java] Polymorphism
Studying Java # 0
Java review
java framework
Java features
Java features
java beginner 3
Java memo
java (encapsulation)
Java inheritance
[Java] Overload
Java basics
Decompile Java
[Java] Annotation
java notes
java beginner
Java (add2)
JAVA (Map)
[java] interface
Java basics
Java methods
Java diary
[Java] enum
[Java] FizzBuzzCounter
Studying Java ―― 8
Java (add)
Java method
Java (remove)
java serializable
JAVA memorandum