小编Ger*_*ard的帖子

Lambda表达式与方法引用

IntelliJ一直建议我用方法引用替换我的lambda表达式.

两者之间是否存在客观差异?

java intellij-idea java-8

106
推荐指数
3
解决办法
2万
查看次数

Lambdas:局部变量需要final,实例变量不需要

在lambda中,局部变量需要是final,但实例变量不需要.为什么这样?

java lambda final java-8

68
推荐指数
8
解决办法
7万
查看次数

基类和泛型泛型之间的区别

我注意到一段时间后使用泛型,这与之间没有太大区别:

public void DoSomething<T>(T t) where T : BaseClass{

}
Run Code Online (Sandbox Code Playgroud)

还有这个:

public void DoSomething(BaseClass t){

}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我看到的唯一区别是第一种方法可以添加其他约束,如接口或new (),但如果你只是按我写的方式使用它,我看不出太大的区别.任何人都可以指出选择一个或另一个的重要因素吗?

c# generics polymorphism

6
推荐指数
1
解决办法
124
查看次数

引用C#中的引用

我创建了一个引用另一个变量B的变量B,它们都是引用类型变量.如果我将B或A设置为null,则另一个仍将指向对象实例,该实例将保持不变.

SomeClass A = new SomeClass();
SomeClass B = A;
B = null;                       //A still has a valid reference
Run Code Online (Sandbox Code Playgroud)

这也是事实:

SomeClass A = new SomeClass();
SomeClass B = A;
A = null;                       //B still has a valid reference
Run Code Online (Sandbox Code Playgroud)

但我不希望B引用A引用的实例,我希望B引用A本身.这样,如果B设置为null,则A也将设置为null.这样做有什么优雅,安全(无指针)的方式吗?或者我是否正在尝试做一些违反C#原则的事情?

谢谢.

c# reference

2
推荐指数
1
解决办法
125
查看次数

标签 统计

c# ×2

java ×2

java-8 ×2

final ×1

generics ×1

intellij-idea ×1

lambda ×1

polymorphism ×1

reference ×1