小编Tor*_*res的帖子

Javascript,^(插入符号)运算符有什么作用?

我有一些JavaScript代码:

<script type="text/javascript">
$(document).ready(function(){
  $('#calcular').click(function() {
    var altura2 = ((($('#ddl_altura').attr("value"))/100)^2);
    var peso = $('#ddl_peso').attr("value");
    var resultado = Math.round(parseFloat(peso / altura2)*100)/100;
    if (resultado > 0) {
      $('#resultado').html(resultado);
      $('#imc').show();
    };
  });
});
</script>
Run Code Online (Sandbox Code Playgroud)

什么是^(尖)运算符在Javascript中是什么意思?

javascript math operators

67
推荐指数
4
解决办法
5万
查看次数

将Date对象与Java中的TimeStamp进行比较

当我测试这段代码时:

java.util.Date date = new java.util.Date();
java.util.Date stamp = new java.sql.Timestamp(date.getTime());

assertTrue(date.equals(stamp));
assertTrue(date.compareTo(stamp) == 0);
assertTrue(stamp.compareTo(date) == 0);
assertTrue(stamp.equals(date));
Run Code Online (Sandbox Code Playgroud)

我期待一个真实,真实,真实,虚假.因为这:

在java.sql.Timestamp的javadoc中,它指出:

注意:此类型是java.util.Date和单独的纳秒值的组合.只有整数秒存储在java.util.Date组件中.分数秒 - 纳米 - 是分开的.传递类型为java.util.Date的值时,Timestamp.equals(Object)方法永远不会返回true,因为日期的nanos组件未知.因此,Timestamp.equals(Object)方法与java.util.Date.equals(Object)方法不对称.此外,哈希码方法使用底层的java.util.Date实现,因此在其计算中不包括nanos.

由于Timestamp类和上面提到的java.util.Date类之间存在差异,因此建议代码不要将Timestamp值一般视为java.util.Date的实例.Timestamp和java.util.Date之间的继承关系实际上表示实现继承,而不是类型继承.

但相反,我会得到一个真实的,虚假的,真实的,错误的.有任何想法吗?

编辑:当我用equals方法检查两个日期时出现此问题,但其中一个Date对象来自Hibernate类并且调试我看到该对象包含TimeStamp.所以equals方法评估为false,然后我发现了这个:http://mattfleming.com/node/141

但是当我尝试代码时,我会得到不同的结果......如果我不能同时使用equals和compareTo,我应该用什么来检查2个日期是否相同?!?!

java timestamp compare date equals

28
推荐指数
3
解决办法
5万
查看次数

标签 统计

compare ×1

date ×1

equals ×1

java ×1

javascript ×1

math ×1

operators ×1

timestamp ×1