zoukankan      html  css  js  c++  java
  • Java中的final 修饰参数问题

    今天面试做了一道这样的题目

    public void test(final int[] args){
    		if(args.length>1){
    			args[0]=5;
    		}
    	}  

    询问这段代码有没有出题。

    这段代码是可以通过测试的,并没有问题。

    final在修饰引用数据类型的时候,是指变量的引用不能改变,但是可以对这个引用的内容进行修改,所以上文的代码是正确的。而下面是错误的说法。

    public void test(final int[] args){
    		if(args.length>1){
    			args[0]=5;
    		}
    		int[] a={1,2,3};
    		
    	//	args=a;//编译错误
    		args={1,3};//不允许
    		
    		
    	}
    

     如果final修饰的是基本数据类型,那么在这个方法内,这个参数就不能再进行更改。

     public void  test(final int i){
    		 
    		 i=200;//编译不能通过
    		 
    	 }
    		
    
  • 相关阅读:
    hive笔记
    hive数据倾斜的解决办法
    Kafka笔记7
    kafka笔记6
    Kafka笔记5
    kafka笔记4(2)
    kafka笔记4
    Kafka笔记3
    kafka笔记2
    kafka笔记1
  • 原文地址:https://www.cnblogs.com/dengkaien/p/8353595.html
Copyright © 2011-2022 走看看