Как узнать название класса из статик метода в java?

Рейтинг: 0Ответов: 2Опубликовано: 02.03.2015

Как узнать название класса из статик метода в java

public String tag = this.getLocalClassName();

Делаю так, но он годится только для не статик метода.

Ответы

▲ 2Принят

Попробуйте это, должно помочь. Скорее всего, все упирается в this, из-за того что метод статичный.

▲ 1

Не знаю, как это относится к Андроиду, поэтому напишу, как получить имя класса, даже если этот метод статический.

class A{

    public A() {
        String name=getClassName(this.getClass());
    }
    public static String getClassName(Class<?> clazz){
        return clazz.getName();
    }
}

Ну я нигде не упоминал имя класса явно. Однако можно указать его явно и избеждать писанины. Я же вижу, из какого класса я вызываю этот метод. Поэтому я пишу имя. Класс, в котором находится метод:

class A{

    public A() {
    }
    public static String getClassName(){
        return A.class.getCanonicalName();
    }
}

getCanonicalName(), или getName(), или getSimpleName() - я думаю, сам разберёшься, какой тебе нужен.

Вариант первого способа:

class A{

    public A() {
        String name=getClassName(this);
    }
    public static String getClassName(Object ob){
        return ob.getClass().getName();
    }
}