2016-07-26 5 views
0

ウェブサイト用のJavaスプリングを使用するEclipseプロジェクトで作業しています。しかし、私が何を試しても、次の文字列は異なるようです。誰かが私に何をすべきか教えてくれれば素晴らしいだろう。このコードでjaveスプリングストリングは、印刷時に同じであると思われる場合はfalseを返します。

@RequestMapping(value = "/result", method = RequestMethod.GET) 
    public ModelAndView execute(@ModelAttribute("dummyForm") final DummyForm dummyForm, final Model model) { 
     // ... 
     final String str = dummyForm.getFirstName() + "_" + dummyForm.getLastName(); 
     if(str.equals("Dummy_Smith")){ 
      // ... 
     } 
     return mav; 
    } 

、私はdummyForm.setFirstName( "ダミー")とdummyForm.setLastName( "スミス")でテストする場合:予想通り "Dummy_Smith" と表示されますJSPで 印刷 "STR"。しかし、if条件チェックでは、常にfalseを返します。 str.compareTo( "Dummy_Smith")を実行しようとしましたが、-33を返します。 本当に返信したい場合はどうすればよいですか?

ありがとうございます。

+0

と等しいです。大文字と小文字は区別されません。 – Tibrogargan

+0

オ両方の文字列の場合は同じにする必要があります。 – zombiecircus

+0

これで問題は解決しますか?もしそうなら、あなたはたぶん質問を削除したいと思うかもしれません - タイプミスは実際にサイトに多くの価値を追加しません:) – Tibrogargan

答えて

0

文字列に空白文字または不可視文字があるので、同じ文字列であるように見えるが、実際には同じではないように見える。値が0に等しい場合compareToコールからtrue値が

String trimmed = str.trim(); 
System.out.println(trimmed); 
System.out.println(trimmed.compareTo("Dummy_Smith")); 

(ので、上記の第2印刷行):あなたが比較されている文字列から空白をトリムし、それを返すか見てみてください。

+0

ありがとうございました!私が提出したjsp形式から持ち込まれた特殊文字です。 – zombiecircus

関連する問題