Most efficient way to cast List to List

The syntax for this sort of assignment uses a wildcard: List<SubClass> subs = …; List<? extends BaseClass> bases = subs; It’s important to realize that a List<SubClass> is not interchangeable with a List<BaseClass>. Code that retains a reference to the List<SubClass> will expect every item in the list to be a SubClass. If another part … Read more

What is the difference between up-casting and down-casting with respect to class variable

Upcasting is casting to a supertype, while downcasting is casting to a subtype. Upcasting is always allowed, but downcasting involves a type check and can throw a ClassCastException. In your case, a cast from a Dog to an Animal is an upcast, because a Dog is-a Animal. In general, you can upcast whenever there is … Read more

Kotlin: How to work with List casts: Unchecked Cast: kotlin.collections.List to kotlin.colletions.List

In Kotlin, there’s no way to check the generic parameters at runtime in general case (like just checking the items of a List<T>, which is only a special case), so casting a generic type to another with different generic parameters will raise a warning unless the cast lies within variance bounds. There are different solutions, … Read more

How do I cast a string to integer and have 0 in case of error in the cast with PostgreSQL?

I was just wrestling with a similar problem myself, but didn’t want the overhead of a function. I came up with the following query: SELECT myfield::integer FROM mytable WHERE myfield ~ E’^\\d+$’; Postgres shortcuts its conditionals, so you shouldn’t get any non-integers hitting your ::integer cast. It also handles NULL values (they won’t match the … Read more

How to cast Object to its actual type?

If you know the actual type, then just: SomeType typed = (SomeType)obj; typed.MyFunction(); If you don’t know the actual type, then: not really, no. You would have to instead use one of: reflection implementing a well-known interface dynamic For example: // reflection obj.GetType().GetMethod(“MyFunction”).Invoke(obj, null); // interface IFoo foo = (IFoo)obj; // where SomeType : IFoo … Read more

How should I cast in VB.NET?

Those are all slightly different, and generally have an acceptable usage. var.ToString() is going to give you the string representation of an object, regardless of what type it is. Use this if var is not a string already. CStr(var) is the VB string cast operator. I’m not a VB guy, so I would suggest avoiding … Read more