0

我正在尝试验证我的 HTML 中的字符串位置作为我的 Java 程序中的标记,以便如果有人更改 HTML 标记字符串,我的 Java 程序会检查该字符串是否是我写的。

这是我的java ...

public void init()
{
    String name = getParameter("author");
    String course = getParameter("class");


    if (name == "goes here")
    JOptionPane.showMessageDialog (null, "Good, it will setVisible(true)", "Library System", JOptionPane.WARNING_MESSAGE);
    if (name != "goes here")
        JOptionPane.showMessageDialog (null, "NOT good and will setVisible(false)", "Library System", JOptionPane.WARNING_MESSAGE);

    Container contain = getContentPane();
    contain.add(new LibraryPanel(name, course));
    setVisible(true);
}

这是我的HTML...

<html>
<body>
<applet code=3.LibraryFrame.class width=650 height=700>
    <param name=author value="goes here">
    <param name=class value="className">
</applet>

</body>
</html>

因此,当我的 HTML 标记中的字符串正确时,它总是说它不匹配。我什至在我的 showMessageDialog 中放置了 name 和 course 变量并且它匹配。

关于为什么它没有正确验证的任何想法?

4

2 回答 2

3

始终将字符串与equals()而不是与进行比较==

应该是

if ("David Duke".equals(name))

因为==比较引用数据类型的引用。

您也可以摆脱第二条if语句并使用else它。

于 2012-11-28T07:44:34.977 回答
3
if (name == "David Duke")

永远不要在 Java 中使用==or!=来比较字符串。改用equals()

if (name.equals("David Duke"))

请注意,==检查它左右两个参数是否引用完全相同的对象 - 它不检查两个对象的内容是否相同。

于 2012-11-28T07:44:45.320 回答