ravidsrk / Android-Java8-Sample

Playground for all the Java 8 features supported in Jack compliler.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Android Java8 Features Sample

Playground for all the Java 8 features supported in Jack compliler.

//
// lambda expressions
//
btn.setOnClickListener(v -> Toast.makeText(MainActivity.this, "Hello Lambda!", Toast.LENGTH_LONG).show());

List<String> names = Arrays.asList("peter", "anna", "mike", "xenia");

Collections.sort(names, new Comparator<String>() {
    @Override
    public int compare(String a, String b) {
        return b.compareTo(a);
    }
});

Collections.sort(names, (a, b) -> b.compareTo(a));

//
// switch string
//
String action = "check";

switch (action) {
    case "check":
        Toast.makeText(MainActivity.this, "Check", Toast.LENGTH_LONG).show();
        break;
    case "test":
        Toast.makeText(MainActivity.this, "Test", Toast.LENGTH_LONG).show();
        break;
}

//
// try(with-resources) {}
//
final List<String> lines = new ArrayList<>();
try (final InputStream is = context.getAssets().open("words.txt");
     final InputStreamReader isr = new InputStreamReader(is, "UTF-8");
     final BufferedReader reader = new BufferedReader(isr)) {
    String line;
    while ((line = reader.readLine()) != null) {
        lines.add(line);
    }

    Log.d(TAG, "Lines"+ lines.size() + "");
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

//
// Extension Methods.
//
Formula formula = new Formula() {
    @Override
    public double calculate(int a) {
        return sqrt(a * 100);
    }
};

formula.calculate(100);
formula.sqrt(16);

//
// Method::references
//
int compare = Objects.compare("Test", "test", String::compareToIgnoreCase);
Log.d(TAG, compare + "");

About

Playground for all the Java 8 features supported in Jack compliler.


Languages

Language:Java 100.0%