Tips and Traps¶
- You cannot get the address of an object in Java (without hacking).
System.identityHashCode(obj)is the next best thing you can have. This trick (combined with the timestamp) is used to generate default seed for random number generators in Java.
Java IO
References¶
- Generally speaking, BufferedReader/BufferedWrite are preferred over InputStreamReader/InputStreamWriter.
https://docs.oracle.com/javase/8/docs/api/java/io/BufferedWriter.html
public static Stream\<String> java.nio.file.Files.lines¶
public static List\<String> java.nio.file.Files.readAllLines¶
Read all lines from a file.
Bytes from the file are decoded into characters using the UTF-8 charset.
Notice that this method returns a List of Strings,
which is different from the method java.nio.file.Files.lines (who returns a Stream of Strings).
Kotlin vs Scala
Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!
https://www.quora.com/Is-Kotlin-so-similar-to-Scala-What-are-the-differences/answer/Bruce-Richardson-4
Loops in Java
Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!
-
The condition(s) in a regular
fororwhileloop is recomputed before each iteration. Not only the change of loop variables but also other variables involved in the loop condition …
Arrays in Java
Comments¶
- An array in Java is not an
Iterable(due to design reasons). There is no super class of array andIterableeither in Java. If you want a method to support both array andIterableas the parameter, you need to overload it (for both array andIterable.) It is the same situation in Kotlin as Kotlin is mostly Java.