java char类型空值_展望Java的未来:空值类型

java char类型空值

尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情。 诚然,由于我对所用术语的了解有限,并且其中某些消息的底层细节,使我无法理解某些讨论。 但是,偶尔会有一些消息和线程让我很了解所写的内容,并且觉得很有趣。 最近的一个例子是“ 空值类型? ”线程。

RémiForax通过询问“是LW1的空值类型吗?”启动线程。 该问题附带的示例错误消息显示了LinkageError和ClassFormatError ,并显示消息“值类型还不支持零实例大小”。 Tobias Hartmann 对这个问题的回答是:“不, LW1不计划支持空值类型。”

在继续讨论线程的其余部分(这是我最感兴趣的部分)之前,我将快速讨论“ LW1”。 大卫·西姆斯(David Simms)在同一OpenJDK邮件列表上的一条消息中,称“ [Lworld] LW1 –'Minimal LWorld' ”,“我们正在以'Minimal L World'(LW1)接近'可用'的东西”,正在将原型制作转移到里程碑式稳定。” 该消息指出“标签”为“ lw1” , affected-versionfixed-version均为“ repo-valhalla ”。 换句话说,“ LW1”是用于跟踪与“最小L世界”实现有关的错误和问题的标签。 您可以参考约翰·罗斯(John Rose)在2017年11月19日发布的消息 “ 放弃所有U型,欢迎来到L-world(或我在伯灵顿学到的东西) ”,以介绍“ L世界”一词及其在价值类型上的含义。 。

返回“空值类型?” 线程, 柯克·佩珀丁 ( Kirk Pepperdine) 问了一个同样出现在我身上的问题 :“值类型如何为空?” 他补充说:“什么是空整数? 空字符串?” 他说他“很好奇”,而现在我也是。 以下是信息反馈的摘要:

  • RémiForax :“ [type]表示缺少值,如unit , void或bottom ”
    • 约翰·罗斯(John Rose)提供了 此信息链接 。
  • RémiForax :“代表投掷结果的类型”
  • RémiForax :“允许将HashSet<E>定义为HashMap<E,Empty>
    • Brian Goetz的信息详细说明了此值:“零长度值可能非常有用,只是不能直接使用。
  • RémiForax :“类似于分隔参数的标记类型的转换类型”( 请参阅此示例的消息 )

我也喜欢该线程上的最后的Kirk Pepperdine消息(在撰写本文时),他总结说:“感觉就像是null的值类型版本。”

顺便说一句, 在valhalla-dev邮件列表的2018年6月存档中还有一些其他有趣的消息和主题。 这里是其中的一些:

  • Karen Kinnears发布了“ Valhalla VM笔记6月6日星期三 ”
    • 我不了解这里记录的每个细节,但是很有趣的是看到了一些与潜在功能相关的潜在时间表。
  • RémiForax发布了“ Integer vs IntBox基准 ”
    • intInteger相比,演示了IntBox结果(Forax将其描述为“存储int的值类型”), IntBox的结果与int相当(并且明显优于Integer )。
  • Sergey Kuksenko发表了“ Valhalla LWorld microbencmarks ”
    • 该消息不提供基准测试结果,而是说明“ Valhalla LWorld微基准的初始集合”已放置在“ test/benchmarks目录下的valhalla存储库中”。
  • Mandy Chung发表了“ 库支持,用于为值类型的hashCode / equals / toString生成BSM ”
    • 基于约翰·罗斯(John Rose)的“ 值类型哈希码 ”,被描述为“为hashCode / equals / toString为值类型生成BSM的初始库支持”。
  • 约翰·罗斯(John Rose)发布了“ 固定池期货 ”

我希望有一天能够在我的日常Java代码中应用值类型。 在此之前,思考可能会发生什么,并查看为此付出了多少工作是很有趣的。

翻译自: https://www.javacodegeeks.com/2018/06/java-future-empty-value-types.html

java char类型空值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IntelliJ IDEA 如何设置编辑窗口的背景图片

按下组合键 Shift Command A&#xff0c;打开查找动作的窗口&#xff0c;在输入框中输入 set Background Image&#xff0c;然后选中它&#xff0c;如下图所示&#xff1a; 背景图片设置窗口如下所示&#xff1a;

2013下半年福建高等学校非计算机专业学生计算机二级c语言原题,2013年福建省计算机二级c语言真题及答案(填空题部分)...

1、程序Ccon441.c的功能是&#xff1a;从键盘输入一个直角三角形的两条直角边a和b&#xff0c;计算并输出其周长和面积。将程序填写完整。#include#includevoid main(){double a,b,c,circle,area;printf("Input 2 edges:");scanf(/**/ "%lf %lf" /**/,&…

spring boot示例_Spring Boot完成示例

spring boot示例这篇文章提供了一个使用Spring Boot开发松耦合的REST服务的完整示例。 使用spring boot&#xff0c;我们可以开发可独立运行的生产就绪的Java应用程序&#xff0c;使其成为独立的应用程序&#xff0c;它具有最小的依赖关系并且与其他应用程序的耦合较少。 大多数…

IntelliJ IDEA for Mac的窗口操作

最大化代码编辑窗口的快捷键&#xff1a;Fn Shift Command F12

c++语言编译环境,Windows安装C++开发环境-C++开发环境搭建-嗨客网

Windows安装C语言开发环境教程这里&#xff0c;我们选择使用 Dev-C。Dev-C下载地址https://sourceforge.net/projects/orwelldevcpp/Dev-C下载打开上面的链接&#xff0c;打开 Dev-C 的下载页面&#xff0c;如下图所示&#xff1a;这里我们点击 Download&#xff0c;跳转到下载…

软件实施与硬件实施的区别_实施白色标签

软件实施与硬件实施的区别有时&#xff08;根据我的经验&#xff0c;很多时候&#xff09;您需要为应用程序添加白色标签。 您通常可以以SaaS方式运行它&#xff0c;但是一些重要的或高知名度的客户端可能需要专用部署或本地部署&#xff0c;或者只是在云部署中“自己的一角”。…

Sublime Text 设置在标签页中打开文件

按组合键 Command , 打开配置文件&#xff0c;如下图所示&#xff0c;左边的是系统配置文件&#xff0c;里面都是默认的配置内容&#xff0c;你无法修改&#xff0c;但是你可以复制到右边的用户级别的配置文件中。 Sublime Text 默认打开一个文件时都会打开一个新的窗口&…

c语言计算机培训,C语言计算机基础学习||新手入门必看

本次内容笔者将完全抛弃传统教学的形式&#xff0c;通过自己所学所闻得出来的心得&#xff0c;用通俗易懂的语言结合生活&#xff0c;来让大家更好的认识计算机编程&#xff0c;更好的入门计算机基础。笔者也想用自己的论述告诉大家&#xff0c;专业知识有时会比较枯燥乏味点&a…

javafx如何带菜单_JavaFX技巧30:带有DropShadow的ScrollPane

javafx如何带菜单最近&#xff0c;在我的一个项目中&#xff0c;我发现用户很难看到ScrollPane实例的内容当前是否已滚动。 一种更清晰的方法是在滚动窗格的顶部添加阴影。 这也是Google的Material Design建议的。 所以我尝试了一下。 在我的解决方案中&#xff0c;我只是向Sc…

IntelliJ IDEA 怎么知道项目信息_如何重新打开已经移除的项目_如何关闭和删除项目

文章目录 一个窗口只管理一个项目如何打开已经移除的项目Open 和 Import 的简单区别关闭项目如何删除项目IDEA 怎么知道项目信息这里要特别理解一个问题,硬盘上的项目文件必须在 IDEA 的配置文件中,IDEA 才能识别这个文件,而通过 IDEA 添加本地文件(例如添加项目或者添加模…

hmi开发软件c语言,组态,HMI,软件,VC++,源代码

要点&#xff1a;1)、创建新的HMIBuilder应用。2)、如何创建刻度。3)、如何创建一个组合图形。参阅TestMeter1要点&#xff1a;1)、创建新的HMIBuilder应用。2)、如何快速通过组合操作创建按钮。参阅TestButton1.要点&#xff1a;1)、创建新的HMIBuilder应用。2)、如何快速创建…

机器学习java_Java机器学习,第2部分

机器学习java欢迎使用本教程的第二部分&#xff0c;该教程使用LightningScorer为PMML文件评分。 让我们找出其他参数是如何工作的。 初始步骤与教程的第一部分相似。 首先获取本地副本 git clone https://github.com/sezinkarli/lightningscorer.git并用Maven构建它 mvn c…

IntelliJ IDEA 如何知道项目中的模块数据_如何从项目源中选择模块加入当前项目中(添加模块)_如何移除项目中的模块(移除模块/删除模块)

文章目录IDEA 如何获取项目的模块数据从项目源中选择模块加入当前项目中如何移除项目中的模块方式一&#xff0c;选择模块的根目录&#xff08;Content Root&#xff09;&#xff0c;鼠标右键 Remove方式二&#xff0c;打开【项目结构】窗口&#xff0c;在模块列表中选中模块&a…

c语言明解课后答案,明解C语言 中级篇 第一章答案

练习1-1#include #includeint main() {srand(time(0));int anw rand() % 7;printf("您的签运是:");switch (anw) {case 0:printf("大吉"); break;case 1:printf("吉"); break;case 2:printf("小吉"); break;case 3:printf("吉&q…

java 迁移数据_Java 10迁移建议

java 迁移数据你好&#xff0c;再一次到另一个热点。 我的名字是Java Champions的平台工程师和DevOps专家Peter Pilgrim。 如您所知&#xff0c;Java 9引入了模块系统。 您可能正在将服务迁移到JDK 10或更高版本&#xff0c;或者至少在考虑中。 我对企业的一般建议是&#xff…

IntelliJ IDEA for Mac 如何配置项目模块的源代码根目录_源码文件的根目录

按下组合键 Command ; 打开【项目结构】配置窗口&#xff1b;然后选择左侧菜单栏的【Modules】&#xff1b;然后在右侧的模块列表中&#xff0c;选择你要配置的模块&#xff1b;接着选择右侧界面中的【Sources】标签。 首先添加内容根目录&#xff08;Content Root&#xff0…

c语言动态内存分配数组,【C】动态内存分配

## 动态内存分配的意义C语言中的一切操作都是基于内存的变量和数组都是内存的别名内存分配由编译器在编译期间决定定义数组的时候必须指定数组长度数组长度是在编译期就必须确定的需求&#xff1a;程序在运行过程中&#xff0c;可能需要使用一些额外的内存空间malloc和freemall…

javafx 调用java_Java“地铁”表(JavaFX)

javafx 调用java再次嗨&#xff0c;这次&#xff0c;TableView“ Metro”样式被添加到JMetro JavaFX主题。 这会将JMetro版本放大到3.1.0。 我之所以没有添加表格样式&#xff0c;是因为奇怪的是在Fluent设计系统&#xff08;以前是Metro&#xff09;中还没有表格的定义。 有一…

IntelliJ IDEA for Mac 修改项目模块的名称

按下组合键 Command ; 打开项目结构窗口&#xff0c;选择左侧边栏的菜单【Modules】&#xff0c;然后选择你要修改的模块&#xff0c;在右侧的【Name】输入框可以修改名称&#xff0c;具体操作如下图所示&#xff1a; 注&#xff1a;模块名称虽然修改了&#xff0c;但是模块的…

二分查找算法举例说明C语言,C语言快速排序与二分查找算法示例

本文实例讲述了C语言二分排序与查找算法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;题目&#xff1a;首先产生随机数&#xff0c;再进行快速排序&#xff0c;再进行二分查找。实现代码&#xff1a;#include #include #include void quiksort(int a[],int low,int …