相当愚蠢的问题.鉴于代码:
public static int sum(String a, String b) /* throws? WHAT? */ {
int x = Integer.parseInt(a); // throws NumberFormatException
int y = Integer.parseInt(b); // throws NumberFormatException
return x + y;
}
Run Code Online (Sandbox Code Playgroud)
你能告诉它是不是很好的Java?我所说的是,NumberFormatException是一个未经检查的例外.您不必将其指定为sum()签名的一部分.此外,据我所知,未经检查的异常的想法只是表示程序的实现是不正确的,甚至更多,捕获未经检查的异常是一个坏主意,因为它就像在运行时修复坏程序.
请有人澄清是否:
NumberFormatException为方法签名的一部分.BadDataException),NumberFormatException在方法内部处理并重新抛出它BadDataException.BadDataException),像正则表达式一样验证两个字符串,BadDataException如果它不匹配则抛出我的字符串.更新:
想象一下,它不是一个开源框架,你应该出于某种原因使用它.你看看方法的签名并思考 - "好吧,它永远不会抛出".然后,有一天,你有一个例外.这是正常的吗?
更新2:
有一些评论说我sum(String, String)的设计不好.我绝对同意,但对于那些认为如果我们有好的设计就不会出现原始问题的人来说,这是一个额外的问题:
问题定义如下:您有一个数据源,其中数字存储为Strings.这个源可能是XML文件,网页,带有2个编辑框的桌面窗口,等等.
你的目标是实现采用这些2 String秒的逻辑,将它们转换为ints并显示消息框,说"总和是xxx".
无论您使用什么方法来设计/实现它,您都将拥有以下2点内部功能: …
如果您的网站遵循此模式(http://xx.yy/),则Internet Explorer不会包含任何Cookie.有解决方案吗
例如:
有很多Java wiki引擎.我目前正在寻找良好的轻量级wiki,类似Stack Overflow上的社区wiki,可以轻松集成到切除应用程序中.
什么是检查资源是否存在的REST方法?假设您有一些名为Project的资源.通过我的理解,其中一个就是这样:
获取资源
GET /rest/projects/123
GET /rest/projects/someCriteria
GET /rest/projects/listOfIds
Run Code Online (Sandbox Code Playgroud)
这很简单,但是如果可用的话,整个对象都被检索出来,我们只想检查它是否在那里.是否有更优雅的解决方案,也许使用HEAD?
我对代码统计工具感兴趣.具体来说,我需要获得有关Java EE代码的统计信息,但任何代码分析器都可以.我应该开始创建自己的一个还是有一些你用过的项目?
恩.LOC,班级数量,库...
你有什么经历?
有没有什么好的库可以用java或任何其他语言读/写DBF文件?
哪些工具或Web服务可用于机器文本转换.
例如
ENGLISH TEXT > SERVER or LIB > GERMAN TEXT
Run Code Online (Sandbox Code Playgroud)
图书馆也是可以接受的.
是谷歌的语言API只有一个?
以下是问题的简化版本:
SomeClass c = (SomeClass) obj.getSomeClassParent()
Run Code Online (Sandbox Code Playgroud)
并非总是如此,有时会触发异常
org.somepackage.SomeClass can't be cast to org.somepackage.SomeClass
Run Code Online (Sandbox Code Playgroud)
这怎么可能 ?我想这与JAI imageio是本机lib的事实有关,但是中继怎么会发生这种情况?我可能错过了什么,但是什么?
I'm using JAI imageio version 1.1
dcm4che 2.0.21 DICOM lib
Run Code Online (Sandbox Code Playgroud)
这是原始代码
ImageInputStream iis = ImageIO.createImageInputStream(src);
Iterator<ImageReader> iter = ImageIO.getImageReadersByFormatName("DICOM");
ImageReader reader = iter.next();
DicomImageReadParam param = (DicomImageReadParam) reader.getDefaultReadParam();
Run Code Online (Sandbox Code Playgroud)
而原来的例外
org.dcm4che2.imageio.plugins.dcm.DicomImageReadParam can't be cast to
org.dcm4che2.imageio.plugins.dcm.DicomImageReadParam
Run Code Online (Sandbox Code Playgroud)
java java-native-interface casting classloader javax.imageio
我编写了一些使用字符串来表示时间的代码,例如"0620",但经过仔细考虑后,我意识到这些可以解析为短路,以便比较性能和存储增益.
在一个单元测试中,我写了一个简短的0620与一个返回值620进行比较,期望这个工作.但是,测试0620等于620(两者都是短路)失败.
错误消息说0620被中断为400(400!= 620解释失败).删除线索0解决了问题,但我想知道,这是怎么回事?
这不起作用
assertEquals("Time Failed", 0620, st.GetTime());
Run Code Online (Sandbox Code Playgroud)
这个作品
assertEquals("Time Failed", 620, st.GetTime());
Run Code Online (Sandbox Code Playgroud) java ×6
web-services ×2
android ×1
casting ×1
classloader ×1
cookies ×1
database ×1
dbf ×1
evaluation ×1
exception ×1
java-ee ×1
legacy ×1
metrics ×1
nlp ×1
parsing ×1
rest ×1
short ×1
statistics ×1
web ×1
wiki ×1