spustí jar program
java -jar <jar soubor>
překlad a vytvoření souboru jar
javac -cp . cz/kalcik/vojta/*/*.java jar cfm ../soubor.jar META-INF/MANIFEST.MF cz/kalcik/vojta/*/*.class
vrátí aktuální rok, měsíc a den
import java.util.Calendar; int year = Calendar.getInstance().get(Calendar.YEAR); int month = Calendar.getInstance().get(Calendar.MONTH); int day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
vrátí aktuální datum a čas v definovaném formátu
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mmZ", Locale.UK); String nowAsString = df.format(new Date());
výčet
enum ActivityMode {TEST, EXPLORE}; ActivityMode mode = ActivityMode.TEST;
výčet s metodou
public enum VectorLayerType { POINT, LINE, POLYGON; public String getSpatialiteType() { if(this == POINT) { return "POINT"; } else if(this == LINE) { return "LINESTRING"; } else if(this == POLYGON) { return "POLYGON"; } return null; } };
vlastní výjimka zděděná od RuntimeException
public class MyException extends RuntimeException { public MyException(String m) { super("MyException: " + m); } } // vyvolani try { throw new MyException("To je problem!"); } catch (MyException e) { System.out.println(e.getMessage()); } finally { // provede se vzdy }
assert
assert value != 0 : "Hodnota nesmí být 0!";
jednoduchý Iterator, který bude neustále vracet řetězec „ahoj“
class AhojIterator implements Iterator<String> { public AhojIterator() { } @Override public boolean hasNext() { return true; } @Override public String next() { return "ahoj"; } @Override public void remove() { throw new UnsupportedOperationException(); } }
převede int na string
int i = 10; String is = Integer.toString(i);
převedy String na jiný typ
int i = Integer.parseInt("00000075"); double j = Double.parseDouble("0.5647");
průchod kontejnereme
import java.util.ArrayList; ArrayList<String> cisla = new ArrayList<String>(); cisla.add("jedna"); cisla.add("dva"); cisla.add("tri"); for(String cislo:cisla) { System.out.println(cislo); }
převede ArrayList na pole
ArrayList<String> params = new ArrayList<String>(); params.add("proj=utm"); params.add("zone=33"); params.add("ellps=WGS84"); params.add("datum=WGS84"); params.add("units=m"); params.add("no_defs"); params.add("towgs84=0,0,0"); String[] pole = params.toArray(new String[params.size()]);
převede pole na ArrayList
String[] pole = {"jedna","dva"}; ArrayList<String> = new ArrayList<String>(Arrays.asList(pole));
obrátí pořadí položek
import java.util.ArrayList; import java.util.Collections; ArrayList<String> items; Collections.reverse(items);
vytvoří inicializovanou množinu
import java.util.Arrays; import java.util.Set; import java.util.TreeSet; Set<String> suffixs = new TreeSet<String>(Arrays.asList(".shp", ".shx", ".dbf"));
vyplní pole jednou hodnotou
import java.util.Arrays; int[] pole = new int[10]; Arrays.fill(pole, 99);
this
pro nadtřídu
public class Trida { private void nicNedelej() {} class Podtrida { public void delej() { Trida.this.nicNedelej(); } } }
zjisti jestli je objekt
instatnce třidy Trida
if (objekt instanceof Trida) { // delej neco }
vytvoří třídu podle návrhového vzoru singleton
public class Trida { private static Trida instance = new Trida(); private Trida() { } public static Trida getInstance() { return instance; } }
přetěžování konstruktoru
public class Point { public float x; public float y; public Point() { this(0, 0); } public Point(float x, float y) { this.x = x; this.y = y; } }
formátování řetězce
int status = 1; String.format("onStatusChanged %d", status);
StringBuilder
StringBuilder builder = new StringBuilder(":-)"); for(int i=0; i < 10; i++) { builder.append("ahoj"); } String output = builder.toString();
uspí vlákno na sekundu
try { Thread.sleep(1000); } catch (InterruptedException e) { // osetreni }
synchronizovaný blok
synchronized(this) { // neco }
synchronizovaná metoda
public synchronized void metoda() { // telo }