Find meaningful words from the input string
I only have one minor objection for the moment...
...
...
Why are you not using dependency injection??
OK, it turned out to be a major one. (I did consider using caps-lock!)
Consider a situation where you would want to do this operation for English words, and then for French words. Instead of using all things static, make a public constructor
private final Set&lt;String&gt; dictionary;

public DictionaryValidWords(Set&lt;String&gt; dictionary) {
    this.dictionary = dictionary;
}

You might consider this as &quot;outside the core part of the code&quot; but it's really not. And it is a very important change to make, class-design wise and best-practices wise.
You could then use a DictionaryFactory class where you could have methods (static or non-static, as you prefer), for exampleDictionary (your current dictionary), english, french, etc...