Как найти, что пакет называет для конкретного класса Java от терминала

например, позволяет, говорят, что я хочу использовать ArrayList, таким образом, я должен использовать

import java.util.ArrayList;

в моем источнике Java. Но в случае, если я забыл, что ArrayList включен в java.util пакет. таким образом, как я нахожу название пакета класса ArrayList?

  1. принятие у меня нет Интернета
  2. принятие я не хочу просматривать источник
3
задан 26 December 2014 в 03:41

2 ответа

Я не уверен, что Вы используете для разработки, но я использую ИДЕЯ IntelliJ , и я никогда не должен заботиться ни о каком операторе импорта. Я только запускаю к типу ArrL, и ИДЕЯ будет заботиться об остальных. Это предложит ArrayList<E> для автозавершения и зафиксирует оператора импорта немедленно. Это просто знает то, что Вы хотите сделать, и можно сконцентрироваться на разработке а не на запоминании имен пакета:

enter image description here

Редактирование:

простой способ сделать это в командной строке должно искать src.zip файл, который идет с SDK. Таким образом, при попытке найти ArrayList тогда, можно сделать

7z l src.zip | grep ArrayList

, и Вы добираетесь

2013-03-26 21:10:27 ..... 42659 8916 java/util/concurrent/CopyOnWriteArrayList.java
2013-03-26 21:10:27 ..... 21547 5814 java/util/ArrayList.java

, где Вы видите структуру пакета, потому что это подобно подпапкам. Я уверен, что существуют угловые случаи, где это не работает, но можно, по крайней мере, попробовать.

3
ответ дан 17 November 2019 в 09:42

Принятие $JAVA_HOME установлено правильно.

$ find $JAVA_HOME -name *.jar -print | xargs -n1 jar -tf | grep "ArrayList.class"
com/sun/istack/internal/FinalArrayList.class
com/sun/xml/internal/messaging/saaj/util/FinalArrayList.class
com/sun/xml/internal/org/jvnet/mimepull/FinalArrayList.class
sun/swing/BakedArrayList.class
sun/awt/util/IdentityArrayList.class
java/util/concurrent/CopyOnWriteArrayList.class
java/util/Arrays$ArrayList.class
java/util/ArrayList.class
com/sun/javafx/UnmodifiableArrayList.class
org/eclipse/equinox/internal/p2/core/helpers/CollectionUtils$UnmodifiableArrayList.class

Мало функции помощника, все еще принимая JAVA_HOME установлено и установлено правильно

function jfind () 
{ 
    if [[ -z "$JAVA_HOME" ]]; then
        echo "Please set JAVA_HOME variable";
    else
        find $JAVA_HOME -name *.jar -print | xargs -n1 jar -tf | grep "$@";
    fi
}

более общее решение

, можно занять место JAVA_HOME любым путем, где желательные банки расположены. Например, Ваш путь проекта:

$ find some_folder_with_jars -name *.jar -print | xargs -n1 jar -tf | grep "Awesome.class"

Источники

На основе этот ответ

3
ответ дан 17 November 2019 в 09:42

Другие вопросы по тегам:

Похожие вопросы: