javaで文字化けしている文字列をエンコーディングし直す方法

例えば、UTF-8の2バイト文字「日本語」をISO-8859-1で間違ってエンコードしている場合には「テスト」のように文字化けしてしまいます。
このように文字化けしているString型のstrをUTF-8でエンコードし直すには

str = new String(str.getBytes("8859_1"), "UTF-8");