问题列表 - 第27358页

如果equals(null)抛出NullPointerException,这是一个坏主意吗?

合同equals与问候null,如下所示:

对于任何非空引用值x,x.equals(null)应该return false.

这是相当奇特的,因为如果o1 != nullo2 == null,那么我们有:

o1.equals(o2) // returns false
o2.equals(o1) // throws NullPointerException
Run Code Online (Sandbox Code Playgroud)

o2.equals(o1) throws NullPointerException是一件好事,因为它提醒我们程序员错误.然而,如果出于各种原因我们只是将其切换到了那个错误就不会被捕获o1.equals(o2),而这只会"默默地失败".

所以问题是:

  • 为什么o1.equals(o2)不应该return false投掷而不是一个好主意NullPointerException
  • 如果我们尽可能地重写合同以便anyObject.equals(null)总是扔掉,那会NullPointerException不是一个坏主意?

与...比较 Comparable

相反,这就是Comparable合同所说的:

请注意,这null不是任何类的实例,并且e.compareTo(null)应该抛出一个NullPointerException偶数e.equals(null)返回false.

如果NullPointerException适合compareTo,为什么不适合equals

相关问题


一个纯粹的语义论证

这些是Object.equals(Object …

java null equals nullpointerexception

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

Jquery和Fancybox重复图库

嗨,大家好

我希望你能帮助我,我有一个要求的问题,我需要制作一个循环的图像列表.

我有这个网站,在这里我有一些名片,我需要在第一个周期结束后重复图像,并像循环一样继续.

在这里我离开网站,看看列表有一个决赛.

http://tradelinks.com.au/index.php?service=painters

提前致谢

css jquery fancybox

2
推荐指数
1
解决办法
4688
查看次数

列表上的Python正则表达式

我正在尝试构建一个解析器并将结果保存为xml文件,但我有问题..

请问各位高手请看看我的代码?

追溯 :TypeError: expected string or buffer

import urllib2, re
from xml.dom.minidom import Document
from BeautifulSoup import BeautifulSoup as bs
osc = open('OSCTEST.html','r')
oscread = osc.read()
soup=bs(oscread)
doc = Document()
root = doc.createElement('root')
doc.appendChild(root)
countries = doc.createElement('countries')
root.appendChild(countries)
findtags1 = re.compile ('<h1 class="title metadata_title content_perceived_text(.*?)`</h1>', re.DOTALL |  re.IGNORECASE).findall(soup)
findtags2 = re.compile ('<span class="content_text">(.*?)</span>', re.DOTALL |  re.IGNORECASE).findall(soup)
for header in findtags1:
title_elem = doc.createElement('title')
countries.appendChild(title_elem)
header_elem = doc.createTextNode(header)
title_elem.appendChild(header_elem)
 for item in findtags2:
    art_elem = doc.createElement('artikel')
    countries.appendChild(art_elem)
    s = …
Run Code Online (Sandbox Code Playgroud)

python xml parsing

2
推荐指数
1
解决办法
1063
查看次数

自我加入实体框架

我想在实体框架工作中有以下类型的查询

SELECT  c2.* 
FROM    Category c1 INNER JOIN Category c2
ON      c1.CategoryID = c2.ParentCategoryID
WHERE   c1.ParentCategoryID is NULL
Run Code Online (Sandbox Code Playgroud)

如何在Entity框架中完成上述工作......

c# entity entity-framework

3
推荐指数
1
解决办法
7201
查看次数

WCF错误:客户端和服务绑定可能不匹配?

让我们看看服务器配置和客户端配置 然后帮我找到这些配置之间的区别!!

客户端配置

<system.serviceModel>
<client>
  <endpoint address="http://localhost/admin2/AdminCentralService.svc"
            binding="wsHttpBinding"
            bindingConfiguration="WSHttpBinding_Config"
            contract="TIR.ThreeTier.ICommandInvoker"
            name="AdminCentralServiceConfig" />
  <endpoint binding="wsHttpBinding"
            bindingConfiguration="WSHttpBinding_Config"
            contract="TIR.ThreeTier.ICommandInvoker"
            name="CommandInvokerConfig" />
</client>

<bindings>
  <wsHttpBinding>
    <binding name="WSHttpBinding_Config"
             closeTimeout="00:10:00"
             openTimeout="00:10:00"
             receiveTimeout="00:10:00"
             sendTimeout="00:10:00"
             bypassProxyOnLocal="false"
             transactionFlow="false"
             hostNameComparisonMode="StrongWildcard"
             maxBufferPoolSize="2147483647"
             maxReceivedMessageSize="2147483647"
             messageEncoding="Mtom"
             textEncoding="utf-8"
             useDefaultWebProxy="true"
             allowCookies="false">
      <readerQuotas maxDepth="2147483647"
                    maxStringContentLength="2147483647"
                    maxArrayLength="2147483647"
                    maxBytesPerRead="2147483647"
                    maxNameTableCharCount="2147483647" />
      <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
      <security mode="Message">
        <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
        <message clientCredentialType="Windows"
                 negotiateServiceCredential="true"
                 algorithmSuite="Default"
                 establishSecurityContext="true" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)

服务器配置

<system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="AdminCentral.Business.Web.Service1Behavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors> …
Run Code Online (Sandbox Code Playgroud)

c# wcf

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

CPU浮动运营成本

我对一些浮点运算的现代桌面CPU的时间成本很感兴趣,以便优化数学评估.特别是我感兴趣像复杂的操作之间的比较exp,log以及操作简单一样+,*,/.

我试图搜索这些信息,但我找不到来源.

浮点运算的成本是多少?

floating-point cpu performance

6
推荐指数
1
解决办法
1187
查看次数

从C到装配

有人可以解释,我有一个关于C的程序,我可以将它转换为汇编吗?如果有,怎么样?

c assembly

9
推荐指数
2
解决办法
2万
查看次数

加快Java中的数学计算

我有一个用Java编写的神经网络,它使用如下定义的sigmoid传递函数:

private static double sigmoid(double x)
{
    return 1 / (1 + Math.exp(-x));
}
Run Code Online (Sandbox Code Playgroud)

而这就是所谓的许多培训和使用网络的计算过程中的时间.有没有办法加速这个?这并不是说它很慢,只是它被大量使用,所以这里的一个小优化将是一个很大的整体收益.

java mathematical-optimization neural-network

11
推荐指数
2
解决办法
9501
查看次数

将透明纹理与深度混合

我试图混合具有透明区域的纹理:

glEnable( GL_TEXTURE_2D );
glBindTexture( GL_TEXTURE_2D, ...);
glVertexPointer( 2, GL_FLOAT, 0, ... );
glEnable (GL_BLEND);
glBlendFunc (GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 );
Run Code Online (Sandbox Code Playgroud)

除非我添加glDisable(GL_DEPTH_TEST),否则顶部纹理的透明部分会覆盖它们下面的所有内容(而不是混合).有没有办法在不禁用深度的情况下做到这一点?我尝试了各种混合功能但没有帮助.

textures alphablending opengl-es

5
推荐指数
1
解决办法
2231
查看次数

当我不知道字节顺序时,如何在Perl中解码UTF-16数据?

如果我打开一个文件(并直接指定编码):

open(my $file,"<:encoding(UTF-16)","some.file") || die "error $!\n";
while(<$file>) {
    print "$_\n";
}
close($file);
Run Code Online (Sandbox Code Playgroud)

我可以很好地阅读文件内容.但是,如果我这样做:

use Encode;

open(my $file,"some.file") || die "error $!\n";
while(<$file>) {
    print decode("UTF-16",$_);
}
close($file);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

UTF-16:Unrecognised BOM d at F:/Perl/lib/Encode.pm line 174
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用它decode

编辑:这是前几个字节:

FF FE 3C 00 68 00 74 00
Run Code Online (Sandbox Code Playgroud)

perl decode utf-16

7
推荐指数
2
解决办法
1万
查看次数