rubyとJavaの文字列比較の違い

昨日からruby勉強しています。
rubyの制御構文について見ていると、おっと思うことがありました。
==演算子と文字列比較について、ちょうどjavaのそれとは正反対では?

試してみました。
rubyで文字列同士が同じか比較しようと思ったら、==演算子を使います。
equal?メソッドでは、インスタンスが同一かどうかを比較してしまいます。

irb(main):001:0> a,b = 'abc','abc'
=> ["abc", "abc"]
irb(main):002:0> a == b
=> true
irb(main):003:0> a.equal?(b)
=> false

javaでは逆だなぁ。

public static void main(String[] args) {
    String a = "abc";
    String b = new String("abc"); 
    System.out.println(a.equals(b));
    System.out.println(a == b);
}
(結果)
true
false

へー。
と思ったらまとめてる方いました笑
JavaのequalsメソッドとRubyのequal?メソッドについて | simultechnology.blog
http://simultechnology.blendmix.jp/blog/archives/926