javazert
javazert
javazert
Kartei Details
Karten | 300 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Andere |
Erstellt / Aktualisiert | 08.01.2020 / 08.01.2020 |
Weblink |
https://card2brain.ch/box/20200108_javazert
|
Einbinden |
<iframe src="https://card2brain.ch/box/20200108_javazert/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Wie lautet das standard-libary interface das einem beim Filtern helfen kann und wie lautet die Funktion dabei?
java.util.function.Predicate mit der funkiton: boolean test(T t);
Was gibt es noch für Methoden im interface Predicate? (default methoden, dienen nicht den lambdas)
- default Predicate<T> and(Predicate<? super T> other): verknüpft zwei predicates short-circuiting
- default Predicate<T> negate(); negation des Predicates
- default Predicate<T> or(Predicate<? super T> other): short-circuiting or-verknüpfung
- static <T> Predicate<T> isEqual(Object targetRef): predicate ob zwei objekte gleich (according to Object.equals)
Was macht ein "functional" interface aus?
Dass es genau eine abstracte methode hat (auch "functional method" genannt)
Wie verwendet man das Consumer-interface?
- Bietet die methode accept -> diese implementieren, z.B.:
Consumer<String> consumer = s -> System.out.println(s.length());
consumer.accept("hello");
Wie verwendet man das supplier interface?
- bietet die methode get die man überschreiben muss, z.B. :
Supplier<Car> sub = () -> new Car();
System.out.println(sub.get());
Wie kann man die removeIf funktion von collections verwenden?
Mit einem predicate, z.B.:
Predicate<Integer> p = x->x%2==0;
myList.removeIf(p);
Wie kann man die Collection.sort methode nutzen?
Indem man das java.util.Comparator-interface implementiert mit der methode int compare(T o1, T o2)
z.B.: someList.sort( (a,b) -> a.compareTo(b));
Was ist die Oberklasse von allen Exceptions?
Throwable, java.lang.Error und java.lang.Exception erweitern diese
Was sind checked Exceptions?
Exceptions die der Compiler checked, das sind alle die Throwable erweitern aber nicht RuntimeException oder Error
Was sind RuntimeExceptions?
Exceptions die zur Runtime auftreten, wie z.B. NullPointerException, ..
Wäre folgendes ok? :
void foo() throws IOException{ if(..) throw new Exception ..
Nein, aber andersrum schon
Kann eine Methode angeben eine Exception zu werfen ohne dass es möglich wäre dass sie geworfen wird?
z.B. void foo() throws Exception { // actually doing nothing}
Ja
Kann ein static initializer exceptions werfen? Wenn ja, wie?
Nein, er wird automatisch aufgerufen wenn die Klasse geladen wird, deshalb hätte die Applikation keine Möglichkeit den Fehler aufzufangen und der compiler mekkert
Kann ein instance initializer exceptions werfen? Wenn ja, wie?
Ja, als teil eines Konstruktors. D.h. wenn unser instance initializer eine exception wirft müssen wir für jeden Konstruktor diese exception auch werfen
Wäre das ein übersetztbarer instance initializer?
{ throw new Exception("");}
Nein, es muss eine Möglichkeit geben dass er ohne Exception durchlaufen kann (kann aber auch eine Exception werfen!)
Auf was muss man achten wenn man eine Exception im Konstruktor wirft?
Dass auch die Subklassen-Konstuktoren diese Exceptino werfen (erste Zeile im Konstruktor ist ja super(), kann also immer sein dass die Exception auch in den Subklassen auftritt)
-> auf default-konstruktor aufpassen, der funktioniert dann nämlich nicht mehr!
Kann eine subklasse eine Exception aus dem Konstruktor der Oberklasse fangen?
Nein -> super() muss die erste Zeile im Konstruktor sein, um die Exception zu fangen wäre ein try nötig --> nicht mehr erste Zeile
Auf was muss man bei multiplen catchblöcken achten? Wo kann ein Compiler-Fehler auftreten?
Dass auch alle Blöcke erreichbar wären (nicht die weiteste Exception als erstes )
--> unreachable code!
Kann man try-catch-blöcke nesten?
Ja
Was macht der module-descriptor?
Beschreibt das modul, jedes Modul braucht so einen.
Ist eine File mit dem namen: module-info.java