Java methoduna değer girilmesini sağlamak

SECBEGENAL

Picopat
Katılım
24 Mart 2021
Mesajlar
108
Çözümler
1
Merhaba, System.out.println() komutunu kısaltmak için kendim bir metot oluşturmak istedim ve oradan çağırmak istedim.

Java:
public static void println(String txt) {
System.out.println(txt);
}

Fakat sorun şu: Ben ayrıca bu alana sayı ve değişken isimlerinin de girilmesini istiyorum. Fakat haliyle String tipinde istediğim için olmuyor. Bunu nasıl sağlayabilirim? Önce internette arayayım dedim fakat galiba doğru arama yapamadım. Karşıma pek sonuç çıkmadı.
 
Son düzenleyen: Moderatör:
Biz C de (String txt) olarak yazdığınız yere (void txt) yazıyoruz.(Ne kadar doğru emin değilim) Belki siz de benzer bir şey deneyebilirsiniz. Veya bunu bir class içine koyup aynı fonksiyonu bir den fazla tanımlayabilirsiniz. Mesela void println(String txt) ve void println(int txt) şeklinde.
 
Biz C de (String txt) olarak yazdığınız yere (void txt) yazıyoruz.(Ne kadar doğru emin değilim) Belki siz de benzer bir şey deneyebilirsiniz. Veya bunu bir class içine koyup aynı fonksiyonu bir den fazla tanımlayabilirsiniz. Mesela void println(String txt) ve void println(int txt) şeklinde.
Evet aynı methodu tekrar yazıp parametrede String yerine int gibi diğer veri tipleriyle override edebilmek mümkün ama Object yazmak bunu tek methodda halletmesine yardımcı olacaktır.
 
Kabul edilmesi gereken tüm tipler için overload yazmanız gerekiyor.

overloads.png


Bkz. println'ın var olan overload'ları.
 
Evet aynı methodu tekrar yazıp parametrede String yerine int gibi diğer veri tipleriyle override edebilmek mümkün ama Object yazmak bunu tek methodda halletmesine yardımcı olacaktır.
Java bilmiyorum ama söylediğiniz şey javanın sağladığı bir imkan sanırım.
 
Kod:
public class Printer { 
  public static<T> void println(T obj){
    System.out.println(obj);
  }
}


import static Printer.*;

public class Test {

  public static void main(String[] args) {
    println("test");
    println(23);
    println(123.3);
    println(true);   
    println(0x043);
  }
}

Tipini bilmedigin seyi objeye cevirme, generic kullan.
 

Geri
Yukarı