Java methoduna değer girilmesini sağlamak

Overloading yapmanın Object türüne çevirmeye göre nasıl bir avantajı var?
Java:
  public static void main(String[] args)
  {
    char[] a = new char[]{'a', 'b', 'c'};
    prn(a);
  }

  public static void prn(Object o)
  {
    System.out.println(o);
  }

[CODE title="Çıktı"][C@4b1210ee[/CODE]

println, Object parametre olarak aldığı zaman String.valueOf(object) olarak yazdırır.

Eğer int için ayrı, char için ayrı, array için ayrı bir şema ile yazdırmayı düşünmüyorsanız
@bitwise hocamın da önerdiği gibi Generic kullamak çok daha basit ve etkili bir çözüm.
 
Son düzenleme:
@The Anorak @bitwise
Gerçekten de çok fark var. Peki sizce böyle bir sınıf yaratmak ne kadar mantıklı? Amacım her projeye import edip kullanmak.

Java:
import androidx.annotation.Nullable;

public class Tools {

    /* ///////////////////////////// print() \\\\\\\\\\\\\\\\\\\\\\\\\\\\\ */
    public static void print(boolean x) {
        System.out.print(x);
    }

    public static void print(char x) {
        System.out.print(x);
    }

    public static void print(int x) {
        System.out.print(x);
    }

    public static void print(long x) {
        System.out.print(x);
    }

    public static void print(float x) {
        System.out.print(x);
    }

    public static void print(double x) {
        System.out.print(x);
    }

    public static void print(@Nullable String x) {
        System.out.print(x);
    }

    public static void print(@Nullable Object x) {
        System.out.print(x);
    }
    /* ////////////|END|//////////// print() \\\\\\\\\\\\|END|\\\\\\\\\\\\ */


    /* ///////////////////////////// println() \\\\\\\\\\\\\\\\\\\\\\\\\\\\\ */
    public static void println(boolean x) {
        System.out.println(x);
    }

    public static void println(char x) {
        System.out.println(x);
    }

    public static void println(int x) {
        System.out.println(x);
    }

    public static void println(long x) {
        System.out.println(x);
    }

    public static void println(float x) {
        System.out.println(x);
    }

    public static void println(double x) {
        System.out.println(x);
    }

    public static void println(@Nullable String x) {
        System.out.println(x);
    }

    public static void println(@Nullable Object x) {
        System.out.println(x);
    }
    /* ////////////|END|//////////// println() \\\\\\\\\\\\|END|\\\\\\\\\\\\ */
}
 
Peki sizce böyle bir sınıf yaratmak ne kadar mantıklı? Amacım her projeye import edip kullanmak.

Gereksiz
Java'nin kendi log modulunu kullan onun yerine.

Cok super bir gerekcen olmadigi muddetce System.out 'a direkt log yazmazsin Java projelerinde.

Ama antreman yapmak icin guzel, ayrica System.out.println() yerine kisaltma kullanmak istemen de guzel bir hareket.
 
Üşengeçlik insanı geliştirir hocam. Yardımlarınız için herkese teşekkür ederim.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…