※ 引述《qwerty0981 (qwerty@qwerty.tw)》之铭言:
: ※ 引述《j94223 (笨肌)》之铭言:
: : 大家好 我第一次在这边发文 若排版不好看请多多包涵
: : 我刚学java不到两个月
: : 我现在遇到了一个问题
: : 我想让程式判断我输入的是字串(字符)或是数字
: : 若是字串(字符)则执行A运算
: : 若是数字则执行B运算
: : 请问这样要怎么写出来?
: : 谢谢各位!
: 你必须定义结果域为何。
: 否则以numeric来说,此时又没别的lib情况下,
: 我宁可try catch + BigDecimal,
: 多一点额外开销,但结果会对。
:
: StackOverflow上有很多讨论,可以先google之。
说真的,我还是提醒一下,try catch跟一般判断式还是有差别的
而且就算没有 lib,还是可以自己写成一个method做判断
我觉得这是 clean code 的问题... 跟你结果对不对没啥关系
也许在其他case底下或许用try catch会比较恰当,但是这个case我真的认为用
try case 是非常不恰当的
if else 代表你在判断一件事情...
try catch 代表你在处理某件错误...
说到 StackOverflow,提供一个讨论串
http://stackoverflow.com/questions/8621762/java-if-vs-try-catch-overhead