为什么这个java程序输出为false?

为什么这个java程序输出为false?,java,equals,Java,Equals,以下java代码输出false: class Value { int i; } public class EqualsMethod2 { public static void main(String[] args) { Value v1 = new Value(); Value v2 = new Value(); v1.i = v2.i = 100; System.out.println(v1.equals(v2)); } } 为什么结果不是真的?在阅读一些Java文档时,我发现了以下答案:

以下java代码输出false:

class Value {
int i;
}
public class EqualsMethod2 {
public static void main(String[] args) {
Value v1 = new Value();
Value v2 = new Value();
v1.i = v2.i = 100;
System.out.println(v1.equals(v2));
}
} 
为什么结果不是真的?在阅读一些Java文档时,我发现了以下答案:equals的默认行为是比较句柄。但是v1和v2不是句柄吗


提前感谢。

不要定期尝试获取值,因为在输入中键入数据时,您将无法立即获取数据

试一试

只需使用setInterval定期检查所需内容

<html>
    <head>
       <script type="text/javascript">
           var myInterval,
           myColorName,
           myDelay = xxx;
           function onLoad(){
               startTimer();  
           }
           function startTimer(){
               myInterval  = setInterval(function(){
                   myColorName = document.forms['form1'].elements['textbox'].value;
                   if(myColorName.length>0){
                       //do what you want with your color        
                   }
               },myDelay);
           }
           function stopTimer(){
               clearInterval(myInterval);
           }
       </script>
    </head>
    <body onload="onLoad()">
        <form name="form1">
            <fieldset>
            <legend>Enter Color Name:</legend>
            <input type="text" name="textbox"/>
            </fieldset>
        </form>
    </body>
</html>

为什么要定期?你不想在任何时候收到变更通知吗?有什么问题吗?从DOM获取数据?定期执行操作?Fieldset+Legend用于将一组字段组合在一起,您可以使用单个字段来代替。@Quentin我喜欢Fieldset+Legendeffect@bloomingsmilez:您应该使用CSS来获得效果。从输入颜色名称开始:这些有趣的引号是什么?@Bergi我不知道我的ubuntu发生了什么,现在需要按两次单引号、双引号键才能输入,但输出是这样的
<html>
    <head>
       <script type="text/javascript">
           var myInterval,
           myColorName,
           myDelay = xxx;
           function onLoad(){
               startTimer();  
           }
           function startTimer(){
               myInterval  = setInterval(function(){
                   myColorName = document.forms['form1'].elements['textbox'].value;
                   if(myColorName.length>0){
                       //do what you want with your color        
                   }
               },myDelay);
           }
           function stopTimer(){
               clearInterval(myInterval);
           }
       </script>
    </head>
    <body onload="onLoad()">
        <form name="form1">
            <fieldset>
            <legend>Enter Color Name:</legend>
            <input type="text" name="textbox"/>
            </fieldset>
        </form>
    </body>
</html>