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.
 
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.
 
Üşengeçlik insanı geliştirir hocam. 😅 Yardımlarınız için herkese teşekkür ederim.
1617786894910.png
 

Geri
Yukarı