我有一个字符串,"004-034556",我想分成两个字符串: string1 = 004 string2 = 034556 这意味着第一个字符串将包含' - '之前的字符,第二个字符串将包含' - '后面的字符. 我还想检查字符串中是否有" - ". 如果没有,我会抛出异常. 我如何做到这一点?
注意,如果在循环中,或者以某种方式访问迭代器时需要使用i.remove(); 你不能使用for(:)。也就是说,如果在循环中需要改变数组元素(例如删除掉一个元素),不能使用for(:)语法了。这种方式适用于实现了Iterable接口的对象。另外,如果for(:) idiom的右侧是一个数组而不是一个实现Iterable的对象,则内部代码使用一个int索引计数器,并检查array.length。 请参阅Java语言规范。
在Java中,有什么简单的方法来创建并写入(文本)文件?
不,使用instanceof之前不需要空检查。如果x是空的,表达式x instanceof SomeClass的结果就是false。 以下内容来自http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.20.2页面中的Java语言规范。
为什么不可以在switch语句中使用string做参数? 这个功能会被添加进以后的java版本中吗? 有人可以来解释一下不能这样做的原因以及从技术方面来说明一下java@switch@语句的工作原理吗?
当我尝试打开Eclipse, 一个弹出对话框说:加载JNI共享库"C:/JDK/bin/client/jvm.dll"失败。这之后,Eclipse强制退出。 有几点我想说明: 我查看了在那个路径下是否存在什么。什么都没有。 我的Eclipse和Jave标准版开发包都是64位的。我检查了我的系统,它可以处理64位。
多线程中的wait()和sleep()之间有什么区别? 我的理解是,wait线程仍然处在运行态并占用CPU周期,但sleep线程不占用任何CPU周期,正确吗? 为什么既有wait()又有sleep():它们在底层的实现有什么不同?
我读过关于使用比较器来对ArrayList排序,但所有现有的例子中,人们跟对String排序一样使用compareTo函数。我想通过对象的一个属性来对ArrayList中的自定义对象排序,如日期对象的getStartDay(),一般我用item1.getStartDate().before(item2.getStartDate())来对它们排序,所以我想知道我是否能这样编写代码:
我想要一个可以将double转化为String的方法,被转化的这个小数采用half-up的方法取舍-即如果舍去的数字是5,则向上进一。这是大多数人在多数情况下期望的标准方法。 我还想只显示有效数字,即不应该有0尾随。 我知道有一个string.format方法:
java.security.MessageDigest是你的朋友。 调用getInstance(“MD5”)以获取你可以使用的MD5消息摘要。