Archive for the ‘Java SE’ Category
Autoboxing i Unboxing w Javie
Dobry opis autoboxingu i unboxingu w Javie. Sporo przykładów, dobrych i złych praktyk oraz pułapek z nimi związanych.
Java Puzzle: unreachable statement
Interesująca zagadka dotycząca kompilatora oraz fragmentów kodu, do których nigdy nie dojdzie sterowanie.
Spring Framework Tutorial
Fajne wprowadzenie do Springa: Arpit Mandliya – Introduction to Spring Framework.
Testowanie wyjątków w Javie
Rafał Roppel, architekt oprogramowania w Wirtualnej Polsce, opisuje techniki testowania wyjątków w Javie.
Project Lombok – no more boilerplate code
Jeśli nudzi Cię żmudne pisanie (lub generowanie przez IDE) getterów, setterów, konstruktorów, hashcode’ów, equalsów, toStringów itd, to Lombok jest właśnie dla Ciebie.
Oto kilka jego możliwości.
Read the rest of this entry »
Wyrażenie regularne sprawdzające, czy liczba jest pierwsza
Wyrażenie regularne, które potrafi sprawdzić, czy dana liczba jest pierwsza.
^1?$|^(11+?)\1+$
import static java.lang.System.*;
public class Prime {
public static final String PRIME_REGEX = "^1?$|^(11+?)\\1+$";
public static boolean isPrime(int i) {
String s = "";
while (i > 0) {
i--;
s += "1";
}
return !Pattern.matches(PRIME_REGEX, s); // escape the \1
}
public static void main(String[] args) {
final int i = Integer.parseInt(args[0]);
final boolean isPrime = isPrime(i);
out.println(i + " is" + (isPrime ? "" : " not") + " a prime number");
}
}
<barista@javaczyherbata.pl> java Prime 9 9 is not a prime number
Jak to działa?
Read the rest of this entry »
Argumenty a parametry metody
Czy istnieje różnica pomiędzy argumentami a parametrami metody?
- Parametry metody to nazwy zmiennych w jej deklaracji/definicji
- Argumenty metody to nazwy zmiennych przekazywane do niej w momencie wywołania
public class Calculator {
// a i b są parametrami
public int add(final int a, final int b) {
return a + b;
}
}
public class CalculatorTester {
public static void main(String[] args) {
Calculator c = new Calculator();
// 1 i 5 są argumentami
final int sum = c.add(1, 5);
System.out.println("sum = " + sum);
}
}
Bytecodem po Cassandrze, część 2
Druga część artykułu autorstwa Jacka Gerbszta – samodzielnego programisty Java w Wirtualnej Polsce – przedstawiającego instrumentację za pomocą ASMifier z biblioteki ObjectWeb ASM: Bytecodem po Cassandrze, część 2.