質問です
String型は
String str="hogehoge" と文字列をセットできるのに

StringBuffer型は
StringBuffer str="hogehoge" とするとエラーになるのは何故ですか?

また
StringBuffer str1=new StringBuffer("hogehoge");
StringBuffer str2=new StringBuffer("hogehoge");
とすると
str1.equals(str2)がfalseを返すのですが、何故でしょうか?
(String型だとtrueになります。)