三题辨析指针对传递进来的实参是否有影响呢?

 

箭头为指向的意思哦վ'ᴗ' ի

7d42feaee5f64b598fc48753ebd3bdaf.jpgc6c5c60aedb64c0cb60e34aef44cd91d.jpg39b9ade54d8c45a495aa8ba946a7ab1a.jpg 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果你在自定义的实现中使用了实参作为BiConsumer.accept方法的参数,那么这个实参是有可能被改变的。具体来说,如果你在实现中修改了实参的属性或状态,那么这个实参就会被改变。 举个例子,假设你有一个Person类,它有一个属性name,然后你定义了一个BiConsumer类型的变量namePrinter,用于打印Person对象的name属性: ``` class Person { private String name; public Person(String name) { this.name = name; } public String getName() { return name; } } BiConsumer<Person, String> namePrinter = (person, prefix) -> System.out.println(prefix + person.getName()); ``` 在这个例子中,我们定义了一个Person类,它有一个name属性和一个getName方法。然后我们定义了一个BiConsumer类型的变量namePrinter,它接受一个Person类型的参数和一个字符串类型的参数prefix,并打印出prefix和Person对象的name属性。注意,这个例子中,我们并没有对Person对象进行任何修改,所以实参不会被改变。 但是,如果你在实现中修改了实参的属性或状态,那么实参就有可能被改变。比如,如果你定义了一个BiConsumer类型的变量ageIncrementor,用于增加Person对象的age属性: ``` class Person { private int age; public Person(int age) { this.age = age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } BiConsumer<Person, Integer> ageIncrementor = (person, increment) -> person.setAge(person.getAge() + increment); ``` 在这个例子中,我们定义了一个Person类,它有一个age属性和getAge方法和setAge方法。然后我们定义了一个BiConsumer类型的变量ageIncrementor,它接受一个Person类型的参数和一个整数类型的参数increment,并将Person对象的age属性增加increment。注意,这个例子中,我们在实现中修改了Person对象的age属性,所以实参有可能被改变。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值