forked from driver733/kotlin-vs-java
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunctions.html
143 lines (115 loc) · 11.5 KB
/
functions.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<!DOCTYPE html><html><head><script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script><script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script><script src="js/highlight.9.16.2.js"></script><script src="js/bootstrap.min.js"></script><script>hljs.initHighlightingOnLoad();</script><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link rel="stylesheet" href="css/style.css"><link rel="stylesheet" href="css/highlightjs-night-owl.css"><title>Kotlin vs Java</title><meta charset="utf-8"><meta name="viewport" content="width=device-width" initial-scale="1"></head><body><div class="container-fluid text-center top-title"><div class="row text-center"><div class="col"><p>Kotlin vs Java</p></div></div></div><nav class="navbar navbar-dark navbar-expand-lg"><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button><div id="navbarNav" class="collapse navbar-collapse"><ul class="navbar-nav"><li class="nav-item px-2"><a class="nav-link" href="/kotlin-vs-java/index.html">Basics</a></li><li class="nav-item px-2"><a class="nav-link" href="/kotlin-vs-java/classes.html">Classes</a></li><li class="nav-item px-2"><a class="nav-link" href="/kotlin-vs-java/collections.html">Collections</a></li><li class="nav-item px-2"><a class="nav-link" href="/kotlin-vs-java/concurrency.html">Concurrency</a></li><li class="nav-item px-2"><a class="nav-link" href="/kotlin-vs-java/delegated-properties.html">Delegated Properties</a></li><li class="nav-item px-2"><a class="nav-link" href="/kotlin-vs-java/dsl.html">DSL</a></li><li class="nav-item px-2 active"><a class="nav-link" href="/kotlin-vs-java/functions.html">Functions</a><span class="sr-only"><current></current></span></li><li class="nav-item px-2"><a class="nav-link" href="/kotlin-vs-java/scoping-functions.html">Scoping Functions</a></li><li class="nav-item px-2"><a class="nav-link" href="/kotlin-vs-java/spring-framework.html">Spring Framework</a></li></ul></div></nav><a class="github-corner" href="https://github.com/driver733/kotlin-vs-java" aria-label="View source on Github"><svg width="80" height="80" viewBox="0 0 250 250" style="fill:#70B7FD; color:#fff; position: absolute; top: 0; border: 0; right: 0;" aria-hidden="true"><path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path><path class="octo-arm" d="M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2" fill="currentColor" style="transform-origin: 130px 106px;"></path><path class="octo-body" d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" fill="currentColor"></path></svg><style>.github-corner:hover .octo-arm{animation:octocat-wave 560ms ease-in-out}@keyframes octocat-wave{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width:500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave 560ms ease-in-out}}</style></a><div class="section"><div class="list-group-flush"><div class="list-group-item border-0"><div class="title">Hello world</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public void hello() {
System.out.print("Hello, World!");
}
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun hello() {
println("Hello, World!")
}
</code></pre></div></div></div></div><div class="list-group-item border-0"><div class="title">Variables I</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public void hello(String name){
System.out.print("Hello, " + name + "!");
}
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun hello(name: String) {
println("Hello, $name!")
}
</code></pre></div></div></div></div><div class="list-group-item border-0"><div class="title">Variables II</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public void hello(String name) {
if (name == null) {
name = "World";
}
System.out.print("Hello, " + name + "!");
}
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun hello(name: String = "World") {
println("Hello, $name!")
}
</code></pre></div></div></div></div><div class="list-group-item border-0"><div class="title">Null I</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public boolean hasItems() {
return true;
}
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun hasItems() : Boolean {
return true
}
</code></pre></div></div></div></div><div class="list-group-item border-0"><div class="title">Null II</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public double cube(double x) {
return x * x * x;
}
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun cube(x: Double) : Double = x * x * x
</code></pre></div></div></div></div></div></div><div class="section"><div class="list-group-flush"><div class="list-group-item border-0"><div class="title">Hello world</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public int sum(int... numbers) { }
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun sum(vararg x: Int) { }
</code></pre></div></div></div></div><div class="list-group-item border-0"><div class="title">Variables I</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public class MyClass {
public static void main(String[] args){
}
}
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun main(args: Array<String>) {
}
</code></pre></div></div></div></div><div class="list-group-item border-0"><div class="title">Variables II</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public static void main(String[]args){
openFile("file.txt", true);
}
public static File openFile(String filename, boolean readOnly) { }
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun main(args: Array<String>) {
openFile("file.txt", readOnly = true)
}
fun openFile(filename: String, readOnly: Boolean) : File { }
</code></pre></div></div></div></div><div class="list-group-item border-0"><div class="title">Null I</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public static void main(String[]args){
createFile("file.txt");
createFile("file.txt", true);
createFile("file.txt", true, false);
createExecutableFile("file.txt");
}
public static File createFile(String filename) { }
public static File createFile(String filename, boolean appendDate) { }
public static File createFile(String filename, boolean appendDate,
boolean executable) { }
public static File createExecutableFile(String filename) { }
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun main(args: Array<String>) {
createFile("file.txt")
createFile("file.txt", true)
createFile("file.txt", appendDate = true)
createFile("file.txt", true, false)
createFile("file.txt", appendDate = true, executable = true)
createFile("file.txt", executable = true)
}
fun createFile(filename: String, appendDate: Boolean = false,
executable: Boolean = false): File { }
</code></pre></div></div></div></div><div class="list-group-item border-0"><div class="title">Null II</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public void init() {
List<String> moduleInferred = createList("net");
}
public <T> List<T> createList(T item) { }
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun init() {
val module = createList<String>("net")
val moduleInferred = createList("net")
}
fun <T> createList(item: T): List<T> { }
</code></pre></div></div></div></div><div class="list-group-item border-0"><div class="title">Null II</div><div class="container-fluid"><div class="row"><div class="col"><div class="lang">Java</div><pre class="code"><code class="java">public static void main(String[]args) {
Book book = createBook();
System.out.println(book);
System.out.println("Title: " + book.title);
}
public static Book createBook(){
return new Book("title_01", "author_01");
}
public class Book {
final private String title;
final private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
@Override
public String toString() {
return "Title: " + title + " Author: " + author;
}
}
</code></pre></div><div class="col"><div class="lang">Kotlin</div><pre class="code"><code class="kotlin">fun main(args: Array<String>) {
val book = createBook();
// or
val (title, author) = createBook()
println(book)
println("Title: $title")
}
fun createBook() : Book{
return Book("title_01", "author_01")
}
data class Book(val title: String, val author: String)
</code></pre></div></div></div></div></div></div><footer><div class="container-fluid text-center"><div class="row pt-4 pb-1"><div class="col"><span class="align-middle">Created by:<a href="https://www.driver733.com"> @driver733</a></span></div></div><div class="row pb-4 pt-1"><div class="col"><span class="align-middle">Based on:<a href="https://github.com/fabiomsr/from-java-to-kotlin"> fabiomsr/from-java-to-kotlin</a></span></div></div></div></footer></body></html>