myeclipse2014能用lambda表达式吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了myeclipse2014能用lambda表达式吗相关的知识,希望对你有一定的参考价值。

参考技术A 应该是可以的,如果不行的话。更新最新版的应该就没问题了。建议用2017的版本试试看,

1、解压安装包,并点击“myeclipse-2017-ci-5-offline-installer-windows.exe”开始正式的安装,等待解压完成
2、自动弹出安装界面,点击Next
3、勾选“I accept the terms of the licnese agreement”即同意此协议,并点击Next
4、选择Myeclipse 2017 Ci 5的安装目录,默认路径为C:\Users\Administrator\AppData\Local\MyEclipse 2017 CI,可点击Change更改路径,或直接默认点击Next
5、选择想要的操作,若32位就选择32Bit,64位就选择64Bit,选择点击Next
6、开始正式的安装,并等待安装完成开始下一步的破解
参考技术B 我觉得OK

能用一个变量java8 的“方法引用”吗

在学习lambda表达式之后,我们通常使用lambda表达式来创建匿名方法。然而,有时候我们仅仅是调用了一个已存在的方法。如下:
Arrays.sort(stringsArray,(s1,s2)->s1.compareToIgnoreCase(s2));

在Java8中,我们可以直接通过方法引用来简写lambda表达式中已经存在的方法。
Arrays.sort(stringsArray, String::compareToIgnoreCase);

这种特性就叫做方法引用(Method Reference)。

方法引用的形式

方法引用的标准形式是:类名::方法名。(注意:只需要写方法名,不需要写括号)

有以下四种形式的方法引用:

类型

示例

引用静态方法
ContainingClass::staticMethodName

引用某个对象的实例方法
containingObject::instanceMethodName

引用某个类型的任意对象的实例方法
ContainingType::methodName

引用构造方法
ClassName::new

下面我们通过一个小Demo来分别学习这几种形式的方法引用:
public class Person
public enum Sex
MALE,FEMALE


String name;
LocalDate birthday;
Sex gender;
String emailAddress;

public String getEmailAddress()
return emailAddress;


public Sex getGender()
return gender;


public LocalDate getBirthday()
return birthday;


public String getName()
return name;


public static int compareByAge(Person a,Person b)
return a.birthday.compareTo(b.birthday);




引用静态方法
Person [] persons = new Person[10];

//使用匿名类
Arrays.sort(persons, new Comparator<Person>()
@Override
public int compare(Person o1, Person o2)
return o1.birthday.compareTo(o2.birthday);

);

//使用lambda表达式
Arrays.sort(persons, (o1, o2) -> o1.birthday.compareTo(o2.birthday));

//使用lambda表达式和类的静态方法
Arrays.sort(persons, (o1, o2) -> Person.compareByAge(o1,o2));

//使用方法引用
//引用的是类的静态方法
Arrays.sort(persons, Person::compareByAge);

引用对象的实例方法
class ComparisonProvider
public int compareByName(Person a,Person b)
return a.getName().compareTo(b.getName());


public int compareByAge(Person a,Person b)
return a.getBirthday().compareTo(b.getBirthday());



ComparisonProvider provider = new ComparisonProvider();

//使用lambda表达式
//对象的实例方法
Arrays.sort(persons,(a,b)->provider.compareByAge(a,b));

//使用方法引用
//引用的是对象的实例方法
Arrays.sort(persons, provider::compareByAge);

引用类型对象的实例方法
String[] stringsArray = "Hello","World";

//使用lambda表达式和类型对象的实例方法
Arrays.sort(stringsArray,(s1,s2)->s1.compareToIgnoreCase(s2));

//使用方法引用
//引用的是类型对象的实例方法
Arrays.sort(stringsArray, String::compareToIgnoreCase);

引用构造方法
public static <T, SOURCE extends Collection<T>, DEST extends Collection<T>>
DEST transferElements(SOURCE sourceColletions, Supplier<DEST> colltionFactory)
DEST result = colltionFactory.get();
for (T t : sourceColletions)
result.add(t);

return result;

...

final List<Person> personList = Arrays.asList(persons);

//使用lambda表达式
Set<Person> personSet = transferElements(personList,()-> new HashSet<>());

//使用方法引用
//引用的是构造方法
Set<Person> personSet2 = transferElements(personList, HashSet::new);
参考技术A 方法引用不能像javascript一样赋给一个变量,只能调用。

以上是关于myeclipse2014能用lambda表达式吗的主要内容,如果未能解决你的问题,请参考以下文章

myeclipse 2015 使用问题

Lambda表达式

Myeclipse需要注册码吗?哪有?

lambda表达式与匿名内部类的简单转换

使用 Lambda 的 Java 8 过滤器数组

java lambda表达式速度快吗