Guava prüft Whitespace mit einer perfekten Hash-Funktion

How hard is it to check for whitespace?

Guava prüft Whitespace mit einer perfekten Hash-Funktion

Ein Blick in Guavas isWhitespace-Methode zeigt mehr Komplexität als ein simples c == ' '. Denn Unicode definiert 25 Whitespace-Zeichen, und Java, Python und JavaScript sind sich uneinig: Java schließt NO-BREAK SPACE aus, Python erkennt 29 Zeichen, JavaScript wiederum andere. Guava löst das mit einer perfekten Hash-Funktion, die per Multiplikation und Bitverschiebung in einer 32-Zeichen-Tabelle nachschlägt.

Ich habe mir zwar keine anderen Runtimes angesehen, aber irgendetwas sagt mir, dass die Unstimmigkeiten nicht bei diesen dreien aufhören.

Mehr von diesem Tag

2026-11-10