Create object without ‘new’ keyword
Class ref = Class.forName("DemoClass");
DemoClass obj = (DemoClass) ref.newInstance();
instance.getClass().getClassLoader().loadClass("NewClass").newInstance();
Detect infinite loop in LinkedList
public boolean doesLoopExist(SinglyLinkedList listToCheck) {
SinglyLinkedList.Node tortoise = listToCheck.getStart();
SinglyLinkedList.Node hare = listToCheck.getStart();
try {
while (true) {
tortoise = tortoise.getNext();
hare = hare.getNext().getNext();
if (tortoise == hare) {
return true;
}
}
} catch (NullPointerException ne) {
return false;
}
}