Próbuję zrozumieć różnicę między matches()i find().
Według Javadoc (z tego, co rozumiem) matches()przeszuka cały ciąg, nawet jeśli znajdzie to, czego szuka, i find()zatrzyma się, gdy znajdzie to, czego szuka.
Jeśli to założenie jest prawidłowe, nie widzę, kiedy chcesz użyć matches()zamiast find(), chyba że chcesz policzyć liczbę znalezionych przez niego dopasowań.
Moim zdaniem klasa String powinna mieć find()zamiast tego matches()wbudowaną metodę.
Podsumowując:
- Czy moje założenie jest prawidłowe?
- Kiedy warto używać
matches()zamiastfind()?
find()wielokrotne dzwonienie może zwrócić różne wyniki dla tego samegoMatcher. Zobacz moją odpowiedź poniżej.