Apache Commons etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Apache Commons etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

6 Aralık 2018 Perşembe

Apache Commons Precision Sınıfı

Giriş
Şu satırı dahil ederiz
import org.apache.commons.math3.util.Precision;
equals metodu - x + y + epsilon
Örnek ver

round metodu - scale + roundingMethod
Şöyle yaparız.
double d = ...;
double result = Precision.round(d, 2, BigDecimal.ROUND_HALF_DOWN);

9 Ekim 2018 Salı

Apache Commons StringEscapeUtils Sınıfı

Giriş
Şu satırı dahil ederiz.
org.apache.commons.text.StringEscapeUtils;
Şu satırı dahil ederiz.
<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-text</artifactId>
  <version>1.4</version>
</dependency>
Eskiden bu sınıf lang3 kütüphanesindeydi. Şu satırı dahil ederdik
<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.1</version>
</dependency>
escapeXml10 metodu
<,> gibi XML'de özel olarak temsil edilen 5 karakteri değiştirir.

unescapeXML metodu
XML'deki 5 özel karakteri okunabilir karakterler ile değiştirir.

5 Ekim 2018 Cuma

Apache Commons MutableInt Sınıfı

Giriş
Java'daki Integer sınıfı immutable'dır. Elimizde şöyle bir kod olsun
public class PassByReference {

  public static Integer inc(Integer i) {
    i = i+1;    // I think that this must be **sneakally** creating a new integer...  
    System.out.println("Inc: "+i);
    return i;
  }

  public static void main(String[] args) {
    Integer integer = new Integer(0);
    for (int i =0; i<10; i++){
      inc(integer);
      System.out.println("main: "+integer);
    }
  }
}
Çıktı olarak şunu alırız.
Inc: 1
main: 0
Inc: 1
main: 0
Inc: 1
main: 0
...
MutableInt sınıfı pass by reference problemini aşmak için kullanılabilir.

4 Ekim 2018 Perşembe

Apache Commons TimedSemaphore Sınıfı

Giriş
Şu satırı dahil ederiz.
import org.apache.commons.lang3.concurrent.TimedSemaphore;
constructor
Saniyedey belli sayıda iş yapmak için şöyle yaparız.
int             rateLimit   = 1 * 1024 * 2000;
TimedSemaphore  rateLimiter = new TimedSemaphore(1, TimeUnit.SECONDS, rateLimit);
acquire metodu
Şöyle yaparız.
while (true) {
  rateLimiter.acquire();
  ...
}

1 Ekim 2018 Pazartesi

Apache Commons FilenameUtils Sınıfı

getExtension metodu
Dosyanın uzantsını verir.

isExtension metodu
Şöyle yaparız.
if(FilenameUtils.isExtension(file.getName(),"java")) {
    someoperation();
}

18 Eylül 2018 Salı

Apache Commons IteratorUtils Sınıfı

asIterable metodu
Verilen Iterator nesnesini Iterable haline çevirir.