Sujet : Re: New VSI post on Youtube
De : arne (at) *nospam* vajhoej.dk (Arne Vajhøj)
Groupes : comp.os.vmsDate : 25. Aug 2024, 18:51:11
Autres entêtes
Organisation : SunSITE.dk - Supporting Open source
Message-ID : <66cb6f0e$0$707$14726298@news.sunsite.dk>
References : 1 2 3 4 5 6 7
User-Agent : Mozilla Thunderbird
On 8/24/2024 10:04 PM, Arne Vajhøj wrote:
$ type OptionalDemo.java
import java.util.Optional;
public class OptionalDemo {
...
public static void main(String[] args) {
testOldStyleAPI(123);
testOldStyleAPI(0);
testNewStyleAPI(123);
testNewStyleAPI(0);
testNewStyleAPISmarter(123);
testNewStyleAPISmarter(0);
}
}
$ javac OptionalDemo.java
$ java "OptionalDemo"
123
No result
123
No result
123
No result
The code becomes a little shorter in Kotlin.
$ type OptionalDemo.kt
import java.util.*
fun oldStyleAPI(v: Int): String? {
return if(v > 0) v.toString() else null;
}
fun newStyleAPI(v: Int): Optional<String> {
return if(v > 0) Optional.of(v.toString()) else Optional.empty();
}
fun testOldStyleAPI(v: Int) {
println(oldStyleAPI(v) ?: "No Result")
}
fun testNewStyleAPI(v: Int) {
println(newStyleAPI(v).orElse("No Result"))
}
fun main() {
testOldStyleAPI(123)
testOldStyleAPI(0)
testNewStyleAPI(123)
testNewStyleAPI(0)
}
$ kotlinc "OptionalDemo.kt"
$ kotlin "OptionalDemoKt"
123
No Result
123
No Result
Kotlin 1.9.10 on VMS x86-64. Works fine - just make sure
the source files are in stmlf format!
Arne