Skip to content

Instantly share code, notes, and snippets.

View nbness2's full-sized avatar

Curtis Woodard nbness2

View GitHub Profile
@nbness2
nbness2 / AnimalImpl.Java
Last active December 22, 2021 09:16
Java lambda example
public record AnimalImpl(String name, String noise) implements Animal {
@Override public String getName() { return this.name; }
@Override public String getNoise() { return this.noise;}
}
public static <T> void also(T thing, Consumer<T> block) {
final T finalThing = thing;
block.accept(finalThing);
}
@nbness2
nbness2 / useThing.kt
Last active December 22, 2021 09:03
Kotlin smartcasting example
interface Animal {
val name: String
val noise: String
fun makeNoise(): String = "$name made a noise: $noise"
}
fun useThing(thing: Any?) {
if (thing is Animal) {
println("thing is an animal!! what kind?? ${thing.name}")
println(thing.makeNoise())
@nbness2
nbness2 / useThing.java
Last active December 22, 2021 09:03
Example of pattern matching in java
public interface Animal {
String getName();
String getNoise();
default String makeNoise() { return getName() + " made a noise: " + getNoise(); }
}
public static void useThing(Object thing) {
if (thing instanceof Animal animalThing) {
System.out.println("thing is an animal!! what kind?? " + animalThing.getName());
System.out.println(animalThing.makeNoise());
val random = Random
val positiveInts = 1 .. Int.MAX_VALUE
val negativeInts = -1 downTo Int.MIN_VALUE
val sign = when(val randomNumber = random.nextInt()) {
in positiveInts -> "positive $randomNumber"
in negativeInts -> "negative $randomNumber"
else -> "zero"
}
val random = Random
val randomNumber = random.nextInt()
val positiveInts = 1 .. Int.MAX_VALUE
val negativeInts = -1 downTo Int.MIN_VALUE
val sign = when(randomNumber) {
in positiveInts -> "positive"
in negativeInts -> "negative"
else -> "zero"
}
val random = Random
val randomNumber = random.nextInt()
val positiveInts = 1 .. Int.MAX_VALUE
val negativeInts = -1 downTo Int.MIN_VALUE
val zero = 0 .. 0
val sign = when {
randomNumber in positiveInts -> "positive"
randomNumber in negativeInts -> "negative"
else -> "zero"
val random = Random
val randomNumber = random.nextInt()
val sign = if (randomNumber > 0) {
"positive"
} else if (randomNumber < 0) {
"negative"
} else {
"zero"
}
val random = Random()
val randomNumber = random.nextInt()
val message = "Number is {0}"
val sign: String
if (randomNumber > 0) {
sign = "positive"
} else if (randomNumber < 0) {
sign = "negative"
} else {
var random = new Random();
var randomNumber = random.nextInt();
var message = "Number is {0}";
String sign;
if (randomNumber > 0) {
sign = "positive";
} else if (randomNumber < 0) {
sign = "negative";
} else {
val Contestant.congratulation: String
get() = "Congratulations to the winner of the thing: $contestantName!!!"