Java 10 中“var”的优点/缺点[关闭]

2024-01-09

AFAIK, var不是关键字Java. It is 保留类型名称。我想知道在什么情况下我们应该使用/避免它。它的使用有什么原则吗?

import java.util.HashMap;

public class Test {
    public static void main(String[] args) {
        var x = new HashMap<> (); // legal
        var y = new HashMap<String, Integer>(); // legal

        var z = "soner"; // legal
        System.out.println(z);

        var umm = null;  // xx wrong xx //
        var foo; // xx wrong usage without initializer xx //

        var var = 5; // legal

    }
}

我知道一个原因,我们在项目中实际使用过。每当有一个“大”变量时,我们就用 var 替换它。例如:

 public void test(){
     CreateEmailEsignTransactionAsync job = new CreateEmailEsignTransactionAsync(... some input);

     // vs 
     var job = new CreateEmailEsignTransactionAsync(... some input)
 }

我发现第二个示例更具可读性,这就是我们主要使用它的方式。

还有另一个可以使用它的例子(但到目前为止我还没有使用它)。以前,这可以通过仅对 lambda 表达式进行链接来实现,因为这只是编译器已知的类型 - 无法声明它们。

 public void test() {
        var test = new Object() {
            public void go() {

            }
        };

        test.go();
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 10 中“var”的优点/缺点[关闭] 的相关文章

  • WebSphere 中跨 JVM 的会话复制

    我们建立了一个基础设施 其中网络服务器是集群的 而应用程序服务器不是 Web 服务器根据循环策略将请求路由到应用程序服务器 在这种情况下 一个应用程序服务器中可用的会话数据在另一应用程序服务器中不可用 无论如何 是否可以使来自第一个应用程序
  • 中断并标签,“标签 MyLabel 丢失”

    我有这样的代码 if condition1 break MyLabel while true some code here MyLabel if condition2 break more code here 我收到此错误 标签 MyLab
  • Spring安全+LocaleResolver

    我需要在身份验证成功后更改区域设置 区域设置解析器
  • 使用 JavaScript 与 Web 服务器通信的 Applet 是否可以迁移到 JWS?

    只是分享一些信息 希望对社区有用 由于各种浏览器停止支持插件 Applet 的可用性已经下降 Google 已决定停止对 NPAPI 插件的支持 EDGE 不支持插件 Firefox 也不鼓励使用插件 Mozilla 可能会跟进该套件 我们
  • AMQP Spring 集成错误处理

    我的集成流程如下所示 Bean public IntegrationFlow auditFlow Qualifier eventLoggingConnectionFactory ConnectionFactory connectionFac
  • org.openqa.selenium.NoSuchSessionException:会话 ID 为空。调用 quit() 后使用 WebDriver?

    我已经进行了一些搜索 但仍然遇到同样的问题 我相信这可能是由于我的网络驱动程序是静态的造成的 我不太确定 在我的主课中 我包括了 BeforeTest and AfterTest BeforeTest包括根据我的 XML 文件启动新浏览器
  • Java 表达式树 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有相当于 net的 LINQ 下的表达式树JVM 我想实现一些类似 LINQ 的代码结构Scala
  • Java - 调整图像大小而不损失质量

    我有 10 000 张照片需要调整大小 因此我有一个 Java 程序来执行此操作 不幸的是 图像的质量损失很大 而且我无法访问未压缩的图像 import java awt Graphics import java awt AlphaComp
  • JTree ConvertValueToText 返回在更改时被截断

    我有一个自定义树实现convertValueToText 此实现取决于某些全局状态 如果返回的字符串比先前返回的字符串更长 实际上我认为更宽 因为以像素为单位触发它 则文本将被截断并用 填充 当重绘是由 取消 选择元素或某个元素引起时 情况
  • Eclipse Oxygen - 该项目未构建,因为其构建路径不完整

    我刚刚安装了 Eclipse Oxygen 并尝试在工作台中打开现有项目 但收到此错误 该项目未构建 因为其构建路径不完整 不能 找到 java lang Object 的类文件 修复构建路径然后尝试 建设这个项目 我尝试右键单击该项目 转
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • 如何在java中从包含.0的浮点数中删除小数部分

    我只想删除包含的浮点数的小数部分 0 所有其他数字都是可以接受的 例如 I P 1 0 2 2 88 0 3 56666 4 1 45 00 99 560 O P 1 2 2 88 3 567 4 1 45 99 560 有什么方法可以做到
  • Java 8 Stream - 并行执行 - 不同的结果 - 为什么?

    假设我有一个List
  • 用于 Eclipse 的 Resharper [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将 Maven 控制台与 m2eclipse 一起使用

    Maven 新手在这里 有没有办法在 Eclipse 中打开控制台并在 M2Eclipse 插件上执行 Maven 命令 这是一个非常好的插件 但我环顾四周 没有找到我想要的一些功能 谢谢 如果你想运行特定的maven插件 你可以这样做 g
  • Log4j 2.0 中发现 ClassNotFoundException

    我已经设置了 log4j12 api beta2 jar 的构建路径 但它给出了 以下错误请帮我解决这个问题我的代码如下 java 文件 package com sst log4j class Product private int pro
  • IntelliJ - 无效源版本:17

    我已经在 IntelliJ 中使用 Gradle 创建了一个使用 Java 17 的新 Java 项目 运行我的应用程序时出现错误Cause error invalid source release 17 我的设置 我已经安装了openjd
  • SQlite 获取最近的位置(带有纬度和经度)

    我的 SQLite 数据库中存储有纬度和经度的数据 我想获取距我输入的参数最近的位置 例如我当前的位置 纬度 经度等 我知道这在 MySQL 中是可能的 并且我已经做了相当多的研究 SQLite 需要一个自定义外部函数来实现半正弦公式 计算
  • 如何在 Hibernate 中自动递增复合主键中的 Id?

    我有一个带有复合主键的表 groupId and batchId 实体类看起来像 Entity name EMPLOYEE public class Employee EmbeddedId private EmployeePK employ
  • removeall 和removeif 的用例

    我找到了这个 fun main val list MutableList

随机推荐

  • 禁用 Flex CSS 类型选择器警告?

    我正在构建一个较大的 Flex 项目 其中包含多个模块 生成多个 SWF 的单个 Flex 项目 现在 我有一个 css 文件 正在主 SWF 标记中加载
  • 使用 JavaScript 更改输入字段的背景颜色

    我正在制作一个表单 并将输入字段设置为仅使用 JavaScript 进行读取 我想将只读属性的默认颜色更改为绿色或黄色 HTML
  • Xcode 6:如何禁用优化 (Swift)

    调试期间不会触发断点 我发现这是因为优化了代码 如何禁用优化 我浏览了每个工具栏 我能找到的最接近的选项是Product gt Perform Action gt Generate Optimisation Profile Xcode 说
  • 读取 JSF Web 应用程序静态代码中的 .properties 文件

    我想从静态块中的属性文件获取数据库连接参数 属性文件位置是WEB INF classes db properties 我会更喜欢使用getResourceAsStream 方法 我尝试了很多方法 但都返回了null private stat
  • 返回日期没有返回小时和分钟

    这是我的代码 CREATE OR REPLACE FUNCTION GET DATE P DAYS IN NUMBER RETURN DATE AS V DATE DATE BEGIN V DATE SYSDATE P DAYS DBMS
  • Odata Url 降序转换

    我需要按患者的 Visidate 降序获取数据 所以我尝试了这样的网址 192 168 1 105 33396 FalconCPDataService svc DEPhysicians format json expand DEPatien
  • NUnit:字典断言

    我想要一个一班轮 在 NUnit 中 断言两个字典是否相同 即 我想要以下代码的简洁版本 public static void DictionaryAssert
  • WPF:触发动画 - 沿 Y 轴向下移动控件

    我有一个想要向下移动的控件MouseOver 不幸的是 当我将鼠标悬停在上面时 动画不会运行 但背景颜色会改变 Toolkit Dialog是一个继承的自定义对话框控件ContentControl 另外 在最终实现中我不会使用 MouseO
  • 在 Android 上获取用户当前位置的最简单、最可靠的方法是什么?

    The LocationManager对于只需要偶尔粗略估计用户位置的应用程序来说 Android 上的 API 似乎使用起来有点痛苦 我正在开发的应用程序本身并不是真正的位置应用程序 但它确实需要获取用户的位置才能显示附近企业的列表 它不
  • Rails 中的 Carrierwave 未加载默认 URL

    我在 Carrierwave 上传器中设置默认图像时遇到问题 它似乎在 URL 前面附加了一个奇怪的类 但不渲染图像 请参阅下面的我的代码 Helper encoding utf 8 class UserpicUploader lt Car
  • 从DataTable中获取布尔值

    如何检索数据集中的布尔值 我使用的是 Visual Studio 2003 我正在尝试以下操作 但它不起作用 if product inactive don t display and redirect to main page if db
  • 将项目数据传递给反应模式

    我有一张地图 它渲染了一些项目 其中一行在下面 a this setState openDeleteModal true gt Delete a 显然 我想在用户单击删除时打开一个模式 但我必须传递一些信息 例如项目名称 项目 ID 来执行
  • switch执行所有case语句

    有人能解释一下为什么我的循环从 0 到 7 吗 我只需要获取前 3 种情况 但程序正在经历所有情况 代码位于 show 方法中 for brojac 0 brojac lt 3 brojac switch brojac case 1 fig
  • 从 SqlDataReader 创建 JSON 字符串

    UPDATE 我想到了 看看我下面的回答 https stackoverflow com questions 5554472 create json string from sqldatareader 5597472 5597472 我正在
  • PHP、MySQL、SELECT 问题

    您好 我有一个看起来很复杂的问题 但我会尽力解释得更好 这是一个逻辑问题 我有一个数据库表 该数据库表 我们称之为表 A 包含一些字符串 字符串由以下行组成 ID auto increment Text Date Time Type IDA
  • Google Cloud Run 中的 PHP 服务突然停止响应所有传入请求

    我正在 Google Cloud Run 中运行 PHP 8 1 后端应用程序 后端连接到在 Google Cloud SQL 中运行的 MYSQL 数据库 在过去的两周里 我们发生了三次完全中断的情况 后端服务器不响应任何请求 导致我们的
  • C++ 通过以非抽象子类为参数的方法重写引用抽象类作为参数的纯虚方法

    我有以下代码 struct A f 0 struct Aa A f struct B void foo A 0 struct Bb B void foo Aa 现在我无法创建Bb类实例 因为我没有覆盖foo从课堂上B与所需的参数 我怎样才能
  • 是否可以使 setSystemUiVisibility() 影响整个系统,而不仅仅是您的应用程序?

    我希望制作一个应用程序 使用来自 Galaxy Nexus 的代码将软按钮变暗为点这个答案 https stackoverflow com a 8602997 183929 为了完整起见 这是代码 getWindow getDecorVie
  • 计算所选文本的位置 javascript/JQuery?

    如何通过计算紧随正文标记之后的偏移量来检索所选文本的位置 例如考虑以下 html div hi div div dude div 在从 i 在 hi 中 到 du 在 dude 中 中选择时 我需要将 2 作为起始位置 将 4 作为结束位置
  • Java 10 中“var”的优点/缺点[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 AFAIK var不是关键字Java It is 保留类型名称 我想知道在什么情况下我们应该使用 避免它 它的使用有什么原则吗 import j