码迷,mamicode.com
首页 > 编程语言 > 详细

Java中利用Optional处理字符串转数字问题

时间:2015-09-24 20:53:25      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

最近在利用JavaFx开发时,由于没有只能输入数字的控件,每次都要对用户输入的string进行转换,但是Java中利用Double.parseDouble()方法转换时如果转化失败就会抛出异常,每次都try,catch很繁琐,而我在业余学习Swift时发现Swift的Optional和 as?的配合就可以极其优雅的解决这个问题,转换成功则获得该值,失败则为nil(Java里的null),而Java8也引入了Optional类,于是自己试着封装了一下,代码如下:
public class StringUtil {
    public static Optional<Double> toDouble(String s){
        try{
            return Optional.of(Double.parseDouble(s));
        }catch (Exception e){
            return Optional.empty();
        }
    }
}

 

这样,例如当需要用户输入一个数字,比如学生的成绩时,只需要这样写:
Student student = new Student();
StringUtil.toDouble(gradeField.getText()).ifPresent(grade->student.setGrade(grade));

 

个人感觉还是比较简洁的。

Java中利用Optional处理字符串转数字问题

标签:

原文地址:http://www.cnblogs.com/HertZSang/p/4836239.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!