“等价”与“相等”(或“绝对平等”)相同吗?

时间:2016-03-07 22:41:58

标签: java logic discrete-mathematics

这两个词一直困在我的脑海里。它们在逻辑上是相同还是完全不同?例如,在Java书中: Liang编程简介,他说:

  

您可以使用泛型类而不指定类似的具体类型   这样:

     

Int16(i)

     

大致相同      

GenericStack stack = new GenericStack(); // raw type

1 个答案:

答案 0 :(得分:1)

有很多层次的平等。通常他们用像#34; equal"这样的词来指定。或"等同于"。这些词的意思究竟取决于语境,但通常平等意味着等同,但不是相反。

例如,给定两段代码 A B ,我们可以说 A B 如果它们由完全相同的字符组成,则相等,如果我们总是可以用 B 替换 A ,反之亦然,而不改变其行为程序。如果我们这样做,

int i;
i = 10;

int i = 10;

不相等但等同。

您的报价中的两个代码段称为"大致相当于"作者。 “"大致"表明它们根本不相同。事实上:

GenericStack stack = new GenericStack();
GenericStack<String> stack2 = stack;

编译(带警告),而

GenericStack<Object> stack = new GenericStack<Object>();
GenericStack<String> stack2 = stack;

没有。

作者的意思是&#34;大致相当于&#34;是原始类型在许多(但不是全部)情况下的行为类似于GenericStack<Object>。特别是,您可以在其中放置任何对象。