java – 从TextInputDialog将Optional转换为Integer时出错
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 从TextInputDialog将Optional转换为Integer时出错,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1174字,纯文字阅读大概需要2分钟。
内容图文
在这个例子中我有tempSocket1和tempSocket2,但我真的只想要其中一个.我只是包括两个显示我尝试了两种方法,但我不断收到错误,“Integer类型中的方法valueOf(String)不适用于参数(可选).”我认为这两种方法都是用于将字符串数据类型转换为整数的方法,但我不确定Optional部分如何更改整个系统.
private void showTextInputDialog() {
TextInputDialog changePort = new TextInputDialog("Settings");
changePort.setHeaderText("Change Port");
changePort.setContentText("Please enter port number to be used for establishing connection...");
Optional<String> result = changePort.showAndWait();
result.ifPresent(e -> {
Integer tempSocket1 = Integer.valueOf(result);
Integer tempSocket2 = Integer.parseInt(result);
}
);
}
解决方法:
你看,Integer.valueOf和Integer.parseInt方法需要一个String类型的参数,但是你传递一个Optional< String>.这就是错误发生的原因.可选的字符串和字符串不一样.
试想一下,如果选择< String>与String相同,是ArrayList< String>与String相同?将LinkedList< String>与String相同?那么HashMap< String,Integer>?它既是String又是Integer?
处理泛型类型与其泛型类型参数相同的混乱会带来破坏性!想象一下,在一个可选字符串上调用charAt!没有实施,没有人知道会发生什么……
所以是的,永远不要认为泛型类型与泛型类型参数的类型相同.
内容总结
以上是互联网集市为您收集整理的java – 从TextInputDialog将Optional转换为Integer时出错全部内容,希望文章能够帮你解决java – 从TextInputDialog将Optional转换为Integer时出错所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。