Ich kann mir nicht helfen, nach zwei Jahren Ruby sieht Java manchmal nur noch umständlich aus. Gerade bei kleinen, in sich geschlossenen Programmen sollte man die Sprache mit Bedacht wählen. Wie aufwendig kann es sein herauszufinden, ob die verschiedenen Klammerarten in einem String ausbalanciert sind? Diese Frage stellte sich auch Code Corner und lieferte diese Lösung in Java:

Als Rubyist juckt es da in den Fingern, das muss doch schneller gehen.
require 'test/unit/assertions'
extend MiniTest::Assertions
class String
BRACKETS = {
"(" => ")",
"[" => "]",
"{" => "}",
}
def balanced?
stack = []
each_char do |char|
if BRACKETS.keys.include? char
stack.push char
elsif BRACKETS.values.include? char
return false if BRACKETS[stack.pop] != char
end
end
stack.empty?
end
end
assert "".balanced?
assert "([Hell{} T(h(e[r]e))]boom)".balanced?
assert not("(a[b{c)d]e}".balanced?)
assert not("([{".balanced?)
assert not("}])".balanced?)