List.of() and Collections.emptyList() both return an empty list. If we want to simply return an empty list we can use any one of them.
Collections.emptyList() is out there for quite a long time but List.of() is fairly new. List.of() was introduced in Java 1.9 version. Collections.emptyList() has became the well adopted among developers but hopefully List.of() will also become well accepted by all.
Following are some differences between List.of() and Collections.emptyList().
|List.of() is shorter||Collections.emptyList() expresses itself|
|Provide immutable list||Provide immutable list|
|List is NOT serializable||List is serializable|
|Cast the collection object to the List object and return||Cast the collection object to the List object and return|
|If contains(obj) method is used then it will throw null pointer exception||If contains(obj) method is used then it will return false|