【C# TO JAVA】 常用对比1
1. 容器功能增强
JAVA: filter(StreamAPI)
示例:list.stream().filter(o -> o.getXX().equals(x)).count();
C#: where(LINQ to List)
示例: list.where(o=>o.getXX()==x)).Count();
2. lambda符号 (匿名方法)
JAVA : ->
实例:list.stream().forEach(p -> System.out.println(p.getName()));
C# : =>
示例:list.ForEach(p => Console.WriteLine(p.Name));
3.方法传递
JAVA:通过接口传递,主要是4种接口Consumer、Supplier、Predicate、Function
- consumer泛型参数无返回值
- supplier无参数提供泛型返回值
- predicate 有参数返回bool
- function 泛型参数泛型返回值
还有Method委托 需要Invoke
C#:通过委托传递,主要是用 Action,Predicate,Function等,写法上方便很多。
4 方法引用
传递给3中接受方法引用的方法
JAVA:class::method
注意:静态方法,需要实现接口
C#: class.method
注意:需要匹配委托(参数和返回值)
5.特性修饰
JAVA: @
C#: []
6 常量
JAVA:static final
C#:const
7.访问权限修饰符,不写
JAVA:包内访问
C# : 不写等于写interal
8. for循环
JAVA: for(element:arraylist)
C#: foreach(var element in arraylist)
9 泛型
JAVA: List,List<Object>,List<?>,<? extends T> <? super T> 需要注意最后2者概念,GETFIRST,PUTFIRST
C# :List<T>
泛型差异较大,需要细致理解
因为这博客园后台实在不好编辑,复制也不好使,浪费精力在编辑效率上,本来想分开写,还是简单写下,偷个懒,还是笔记好写 /罒ω罒。

浙公网安备 33010602011771号