June 2018
Intermediate to advanced
310 pages
6h 32m
English
How many times did you have to write code like this:
fun setCapacity(cap: Int) { if (cap < 0) { throw IllegalArgumentException() } ...}
Instead, you can check arguments with require():
fun setCapacity(cap: Int) { require(cap > 0)}
This makes the code a lot more fluent.
You can use require() to check for nested nulls:
fun printNameLength(p: Profile) { require(p.firstName != null)}
But there's also requireNotNull() for that:
fun printNameLength(p: Profile) { requireNotNull(p.firstName)}
Use check() to validate the state of your object. This is useful when you provide some object that the user may not have set up correctly:
private class HttpClient { var body: String? = null var url: String = "" fun postRequest() { check(body != ...
Read now
Unlock full access