日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java全局变量和局部变量_Java 10 –局部变量类型推断

發布時間:2023/12/3 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java全局变量和局部变量_Java 10 –局部变量类型推断 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java全局變量和局部變量

在本文中,我們將看到作為JEP 286的一部分提出的名為Local Variable Type Inference的Java10功能。 從Java的第一個版本開始,它是一種強類型化的語言,我們需要提及每種變量數據類型。 我們都感到Java是冗長的語言,并期望精確,緊湊的Java編寫方式。 Java 8解決了這個問題。

Java 10在初始化程序中添加了局部變量類型推斷 ,以消除冗長的內容。 例如,

jshell> Map<String,String> map = new HashMap<>(); jshell> var map = new HashMap<>(); //This is valid with Java10

這里的LHS變量數據類型將由RHS語句確定。 例如,

jshell> var i = 3; i ==> 3 //based on RHS, the LHS datatype is int. jshell>int i=3,j=4; //Valid Declaration but, jshell> var j=4,k=5; //Not a Valid Declaration | Error: |'var' is not allowed in a compound declaration | var j=4,k=5; |^

您可以將此功能用于增強的for循環和for循環。

jshell> List names = Arrays.asList("ABC","123","XYZ"); names ==> [ABC, 123, XYZ] jshell> for(var name : names){ ...> System.out.println("Name = "+ name); ...> }Name = ABC Name = 123 Name = XYZ

我們也可以在for循環中使用局部變量類型推斷。

jshell> int[] arr = {1,2,3,4}; arr ==> int[4] { 1, 2, 3, 4 }jshell> for (var i=0;i<arr.length;i++){...> System.out.println("Value = "+i);...> } Value = 0 Value = 1 Value = 2 Value = 3

在某些情況下,此功能無效。 例如,

  • 對構造函數變量無效
  • 對實例變量無效
  • 對方法參數無效
  • 無效以分配NULL
  • 無效作為返回類型

讓我們看看上述聲明的示例。

jshell> public class Sample {...> private var name = "xyz";...> public Sample(var name) {...> this.name=name;...> }...> public void printName(var name){...> System.out.println(name);...> }...> public var add(int a, int b) {...> return a+b;...> }...> } | Error: | 'var' is not allowed here | private var name = "xyz"; //Instance variable | ^-^ | Error: | 'var' is not allowed here | public Sample(var name) { //Constructor variable | ^-^ | Error: | 'var' is not allowed here | public void printName(var name){ //Method parameter | ^-^ | Error: | 'var' is not allowed here | public var add(int a, int b) { //Method return type | ^-^jshell> public class Sample {...> ...> public static void main(String[] args) {...> var s = null;...> }...> } | Error: | cannot infer type for local variable s | (variable initializer is 'null') | var s = null; | ^-----------^

當我們從較低版本遷移到Java10時,我們不必擔心本地變量類型推斷,因為它具有向后兼容性。

在接下來的文章中,我們將學習另一個主題。 直到敬請期待!

翻譯自: https://www.javacodegeeks.com/2018/06/local-variable-type-inference.html

java全局變量和局部變量

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java全局变量和局部变量_Java 10 –局部变量类型推断的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。