0

Java.util.Arrays.asList(T… a). Java API içerisinde mutlaka kullanmış olduğunuz Arrays.asList() metodu ile ilgili küçük bir test cast case yazarak belkide daha önce farkında olmadığımız bir özelliğini ortaya çıkarmış olacağız. Öncelikle ilgili metodun api doclerine göz atıyoruz. (https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html)


Resim-1

static <T> List<T>asList(T… a)
Returns a fixed-size list backed by the specified array.

JavaDoc ifadesine baktığımızda “generic var arg” input parametresi alan metodun geriye input ile aynı generic tipte List<T> döndüğünü görüyoruz, (Verdiğimiz array cinsinden girdiyi List olarak geriye dönüyor)

ayrıca açıklama kısmında “Returns a fixed-size list backed by the specified array” cümlesini okuyoruz. Bu cümle içerisindeki “fixed-size” ifadesi oldukça önemli refer ettiği şey şu oluyor, asList metodu sonucunda dönen List<T> objesi add, remove ve clear gibi işlemleri desteklemiyor. Bu işlemleri yapmayı denerseniz size “UnsupportedOperationException” atıyor. Loglarımıza yansıyan ve debug etmemizi gerektiren bu ufak ayrıntı için bir test case yazarak yazımızı sonlandıralım.

GIST: https://gist.github.com/rozaydin/b906105ed0eb8aaae177cb1eb2b7d0f2

import org.junit.Before;

import org.junit.Test;

import java.util.Arrays;

import java.util.List;

import java.util.stream.IntStream;

public class arraysaslist {

private Integer[] numbers;

@Before

public void initArray() {

// 1. create a sample numbers array

numbers = new Integer[100];

IntStream.range(0, 100).forEach((elem) -> {

numbers[elem] = elem;

});

}

@Test(expected = UnsupportedOperationException.class)

public void testAdd() {

// 1. convert the array to fixed-size list

List<Integer> numbersFixedSizeList = Arrays.asList(numbers);

// invoke add method (UnsupportedOperationException shall be thrown)

numbersFixedSizeList.add(578);

}

@Test(expected = UnsupportedOperationException.class)

public void testRemove() {

// 1. convert the array to fixed-size list

List<Integer> numbersFixedSizeList = Arrays.asList(numbers);

// invoke remove method (UnsupportedOperationException shall be thrown)

numbersFixedSizeList.remove(0);

}

@Test(expected = UnsupportedOperationException.class)

public void testClear() {

// 1. convert the array to fixed-size list

List<Integer> numbersFixedSizeList = Arrays.asList(numbers);

// invoke clear method (UnsupportedOperationException shall be thrown)

numbersFixedSizeList.clear();

}

 

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs : Arrays.asList() metodu, Arrays.asList() kullanimi, Arrays.asList() nasil kullanilir, Arrays.asList() nedir, java Arrays.asList() kullanimi, Arrays.asList() java, Arrays.asList() ornek, Arrays.asList() ornek case,

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 1
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 1
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Rıdvan Özaydın, lisans eğitimini Karadeniz Teknik Üniversitesi Bilgisayar Mühendisliği bölümünde, yüksek lisans eğitimini ise İstanbul Teknik Üniversitesi Bilgisayar Bilimleri bölümünde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı C eğitimi ile başlamış, sektörün önde gelen firmalarında Java teknolojileri üzerine çalışmış, şu anda da Thales’de yazılım mühendisi olarak görev almaktadır.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir