Welche Klassen fehlen im JDK?

Landei

Top Contributor
Welche ganz einfachen, allgemein verwendbaren Java-Klassen wurden eurer Meinung nach von Sun und Oracle einfach "vergessen"?

Mal der Versuch einer persönlichen Liste:

- Option<A> implements Iterable<A> (als Null-Ersatz, kann ein A enthalten)
- Pair<A,B> (enthält ein A und ein B)
- Triple<A,B,C> (enthält ein A, B und C)
- Either<A,B> (enthält entweder ein A oder ein B)
- ImmutableDate (unveränderliches Datum mit vernünftiger Schnittstelle)
- CharList implements List<Character> (Wrapper um StringBuilder):

Java:
import java.util.AbstractList;

public class CharList extends AbstractList<Character> {

    private StringBuilder sb;

    public CharList() {
        sb = new StringBuilder();
    }

    public CharList(String s) {
        sb = new StringBuilder(s);
    }

    public CharList(char[] cs) {
        sb = new StringBuilder(new String(cs));
    }

    @Override
    public Character get(int i) {
        return sb.charAt(i);
    }

    @Override
    public Character set(int index, Character c) {
        char result = sb.charAt(index);
        sb.setCharAt(index,c);
        return result;
    }

    @Override
    public void add(int index, Character c) {
        sb.insert(index, c);
    }

    @Override
    public Character remove(int index) {
        char result = sb.charAt(index);
        sb.deleteCharAt(index);
        return result;
    }

    @Override
    public int size() {
        return sb.length();
    }

    @Override
    public String toString() {
        return sb.toString();
    }

    @Override
    public void clear() {
        sb.setLength(0);
    }
}

Und schon gehen allerhand lustige Sachen:
Java:
List<Character> list = new CharList("garbage");
Collections.shuffle(list);
System.out.println(list); //rabggae oder so...
 
Zuletzt bearbeitet:

ruutaiokwu

Top Contributor
hallo landei

interessanter post!

ein paar sachen, welche von mir aus gesehen fehlen:

- eine einfache smtp-client klasse. (diese javax.mail-geschichte ist über 1 mb gross, und muss zusätzlich heruntergeladen werden)

- eine einfach http(s)-client klasse. (wieso ist das nicht dabei? ständig braucht man diese apache-libraries dafür...)

- eine collection, welche einen avl-tree implementiert (treemap verwendet einen "rot/schwarz-baum" soviel ich weiss...)

- einen schnellen stack! mein aus einen c-code nachgeschriebener quicksort (rekursion nicht indem sich die methode selber aufruft, sondern über einen stack) läuft mit dem java-stack nur etwa halb so schnell wie mit array-basierenden stacks. der java-stack ist instanzbasiert, oder...?


etwas wie eine value-pair habe ich auch schon gebraucht, genauer eine "name-value-pair". dort kann man halt nur den "value" über generics bestimmen, der "name" steht fest - ist ein string.
 

ruutaiokwu

Top Contributor
code habe ich vergessen, die instanzierung erfolgt über eine factory und die konstanten sind für reflection gedacht (hatte einen besonderen fall...):

Java:
package pairing;

import java.util.List;

import string.MyStringUtil;

public final class NVPair<T>
{
    private final String attributeName;

    private T attributeValue = null;

    public static final String ATTRIBUTE_NAME = "attributeName";

    public static final String ATTRIBUTE_VALUE = "attributeValue";

    private NVPair(final String attributeName, final T attributeValue)
    {
        this.attributeName = attributeName;
        this.attributeValue = attributeValue;
    }

    public String getAttributeName()
    {
        return this.attributeName;
    }

    public T getAttributeValue()
    {
        return this.attributeValue;
    }

    public static <T> NVPair<T> getValuePair(final String attributeName, final T attributeValue)
    {
        return new NVPair<T>(attributeName, attributeValue);
    }

    public void setAttributeValue(final T attributeValue)
    {
        this.attributeValue = attributeValue;
    }

    @Override
    public String toString()
    {
        return MyStringUtil.myToString(this);
    }

    @SuppressWarnings("unchecked")
    public static String convertNVPairListAttributeNameToCSV(final List<NVPair> list)
    {
        String ret = "";

        for (int counter = 0; counter < list.size(); counter++)
        {
            final String attr = list.get(counter).getAttributeName().toString();
            ret += attr;

            if (counter < (list.size() - 1))
            {
                ret += ", ";
            }
        }

        return ret;
    }

}



einige realisieren sowas über eine hashmap mit einem eintrag. na ja, geht auch, ist aber sicher einiges langsamer...
 
Zuletzt bearbeitet:

ruutaiokwu

Top Contributor
hier der http-client, wo etwa das "NVPair" verwendet wird:

Java:
package http_raw;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

import pairing.NVPair;

public class RawHTTPClient
{
    private String mServer = null;

    private int mPort = 0;

    public void setConnection(final String caServer, final int caPort)
    {
        this.mServer = caServer;
        this.mPort = caPort;
    }

    public String doHttpPost(final String caURL, final NVPair<String>[] nvPairArr)
    {
        final StringBuilder response = new StringBuilder();
        BufferedReader lBufferedReader = null;

        try
        {
            final URL clURL = new URL("http://" + this.mServer + ":" + this.mPort + caURL);

            final URLConnection lConnection = clURL.openConnection();
            lConnection.setDoInput(true);
            lConnection.setDoOutput(true);
            lConnection.setUseCaches(false);
            lConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

            final DataOutputStream lDataOutputStream = new DataOutputStream(lConnection.getOutputStream());

            String data = "?";

            for (int cnt = 0; cnt < nvPairArr.length; cnt++)
            {
                final NVPair<String> element = nvPairArr[cnt];

                String sep = "&";

                if (cnt == (nvPairArr.length - 1))
                {
                    sep = "";
                }

                data = data + element.getAttributeName() + "=" + element.getAttributeValue() + sep;
            }

            lDataOutputStream.writeBytes(data);
            lDataOutputStream.flush();
            lDataOutputStream.close();

            lBufferedReader = new BufferedReader(new InputStreamReader(lConnection.getInputStream()));

            String lTmp = null;

            while ((lTmp = lBufferedReader.readLine()) != null)
            {
                response.append(lTmp + "\r\n");
            }
        }
        catch (final Exception caException)
        {
            throw new RuntimeException(caException);
        }
        finally
        {
            try
            {
                if (lBufferedReader != null)
                {
                    lBufferedReader.close();
                }
            }
            catch (final Exception caException)
            {
                final Runtime clRuntime = Runtime.getRuntime();
                clRuntime.gc();
            }
        }

        return response.toString();
    }

    public String doHttpPost(final String caURL, final String caParameters)
    {
        final StringBuilder response = new StringBuilder();
        BufferedReader lBufferedReader = null;

        try
        {
            final URL clURL = new URL("http://" + this.mServer + ":" + this.mPort + caURL);

            final URLConnection lConnection = clURL.openConnection();
            lConnection.setDoInput(true);
            lConnection.setDoOutput(true);
            lConnection.setUseCaches(false);
            lConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

            final DataOutputStream lDataOutputStream = new DataOutputStream(lConnection.getOutputStream());
            lDataOutputStream.writeBytes(caParameters);
            lDataOutputStream.flush();
            lDataOutputStream.close();

            lBufferedReader = new BufferedReader(new InputStreamReader(lConnection.getInputStream()));

            String lTmp = null;

            while ((lTmp = lBufferedReader.readLine()) != null)
            {
                response.append(lTmp + "\r\n");
            }
        }
        catch (final Exception caException)
        {
            throw new RuntimeException(caException);
        }
        finally
        {
            try
            {
                if (lBufferedReader != null)
                {
                    lBufferedReader.close();
                }
            }
            catch (final Exception caException)
            {
                final Runtime clRuntime = Runtime.getRuntime();
                clRuntime.gc();
            }
        }

        return response.toString();
    }

    public String doHttpGet(final String caURLAndParameters)
    {
        String lRetString = "";
        InputStreamReader lInputStreamReader = null;
        BufferedReader lBufferedReader = null;

        try
        {
            final URL clURL = new URL("http://" + this.mServer + ":" + this.mPort + caURLAndParameters);
            lInputStreamReader = new InputStreamReader(clURL.openStream());
            lBufferedReader = new BufferedReader(lInputStreamReader);
            String lTmpString = null;

            while ((lTmpString = lBufferedReader.readLine()) != null)
            {
                lRetString = lRetString + lTmpString + "\r\n";
            }
        }
        catch (final Exception caException)
        {
            throw new RuntimeException(caException);
        }
        finally
        {
            try
            {
                if (lInputStreamReader != null)
                {
                    lInputStreamReader.close();
                }
                if (lBufferedReader != null)
                {
                    lBufferedReader.close();
                }
            }
            catch (final Exception caException)
            {
                final Runtime clRuntime = Runtime.getRuntime();
                clRuntime.gc();
            }
        }

        return lRetString.trim();
    }
}
 

ruutaiokwu

Top Contributor
hier noch der https-client, ist strukturell unterschiedlich zum http-client (hatte auch nicht vor, eine komponentenbibliothek zu schreiben, sondern etwas was mir eine gerade aufgetretenes problem löst...):

Java:
package http_raw;

import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.io.Writer;
import java.net.Socket;
import java.security.SecureRandom;

import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

public class RawHTTPSClient
{
    private String mServer = null;

    private int mPort = 0;

    public void setConnection(final String caServer, final int caPort)
    {
        this.mServer = caServer;
        this.mPort = caPort;
    }

    public String doSSLHttpGet(final String caURL)
    {
        return this.doHttps(0, caURL);
    }

    // may be not working...
    public String doSSLHttpPost(final String caURL)
    {
        return this.doHttps(1, caURL);
    }

    private String doHttps(final int caMethod, String aURL)
    {
        if (aURL == null)
        {
            aURL = "";
        }

        String lMethod = null;

        switch (caMethod)
        {
            case 0:
                lMethod = "GET";
                break;
            case 1:
                lMethod = "POST";
                break;
            default:
                break;
        }

        Socket lSocket = null;
        BufferedReader lBufferedReader = null;
        StringWriter lStringWriter = null;
        Writer lWriter = null;

        try
        {
            final SSLContext lSSLContext = SSLContext.getInstance("SSL");
            lSSLContext.init(null, RawHTTPSClient.getWeakTrustManager(), new SecureRandom());
            final SSLSocketFactory lSSLSocketFactory = lSSLContext.getSocketFactory();
            lSocket = lSSLSocketFactory.createSocket(this.mServer, this.mPort);

            lWriter = new OutputStreamWriter(new BufferedOutputStream(lSocket.getOutputStream()));
            final String url = lMethod + " https://" + this.mServer + ":" + this.mPort + aURL + " HTTP/1.0\r\n";

            lWriter.write(url);
            lWriter.write("\r\n");
            lWriter.flush();

            lBufferedReader = new BufferedReader(new InputStreamReader(lSocket.getInputStream()));

            int lChar = 0;

            lStringWriter = new StringWriter();

            while ((lChar = lBufferedReader.read()) != -1)
            {
                lStringWriter.append((char) lChar);
            }
        }
        catch (final Exception caException)
        {
            throw new RuntimeException(caException);
        }
        finally
        {
            try
            {
                if (lStringWriter != null)
                {
                    lStringWriter.close();
                }

                if (lBufferedReader != null)
                {
                    lBufferedReader.close();
                }

                if (lWriter != null)
                {
                    lWriter.close();
                }

                if (lSocket != null)
                {
                    lSocket.close();
                }
            }
            catch (final Exception caException)
            {
                final Runtime clRuntime = Runtime.getRuntime();
                clRuntime.gc();
            }
        }

        return lStringWriter.toString();
    }

    private static final TrustManager[] getWeakTrustManager()
    {
        final TrustManager[] clWeakTrustManagerArr = new TrustManager[] { new X509TrustManager()
        {
            public java.security.cert.X509Certificate[] getAcceptedIssuers()
            {
                return null;
            }

            public void checkClientTrusted(final java.security.cert.X509Certificate[] certs, final String authType)
            {

            }

            public void checkServerTrusted(final java.security.cert.X509Certificate[] certs, final String authType)
            {

            }
        } };

        return clWeakTrustManagerArr;
    }
}
 

Antoras

Top Contributor
Mal der Versuch einer persönlichen Liste: [...]
Viele der Punkte wurden nicht vergessen, die machen ohne Lambdas einfach keinen Sinn. Was bringt mir ein Option wenn ich den darin liegenden Wert nur über Javas anonyme Klassen bearbeiten kann? Das sieht dann ja hässlicher aus als wenn ich Option nicht benutzen würde.

Nichtsdestotrotz, ich hätte gerne eine vernünftige Collection-Bibliothek. Also eine, mit der man auch Strings komfortabel verarbeiten kann und bei der man nicht alle paar Zeilen immer wieder den gleichen Code schreiben muss (wie mit Schleife über Collection iterieren und neue Collection erzeugen). Eine Factory für Collections wäre auch nicht schlecht, damit man z.B. einfach
Code:
Set.of(1,2,3)
schreiben kann. Unveränderliche Collection-Klassen wären auch nicht schlecht.

Aber da fällt mir ein: Java 8 soll ja bald kommen. Irgendwann. Wenn es denn mal fertig ist.
 
B

bygones

Gast
(manches mag bei java kommen/in Planung sein, ich schreib einfach mal)

nicht wirklich ne Klasse, aber der Elvis operator: Proposal: Elvis and Other Null-Safe Operators

ansonsten:

- bessere Boolean klasse (mit and, or, xor etc)
- Closures
- bessere File klasse, bzw FileUtils (Inhalt lesen, schreiben etc)

mhm mehr fallen mir grad nicht ein (ausser Landeis genannten)
 

Landei

Top Contributor
Viele der Punkte wurden nicht vergessen, die machen ohne Lambdas einfach keinen Sinn. Was bringt mir ein Option wenn ich den darin liegenden Wert nur über Javas anonyme Klassen bearbeiten kann? Das sieht dann ja hässlicher aus als wenn ich Option nicht benutzen würde.

Wenn
Code:
Option<T>
ein
Code:
Iterable<T>
ist, kann man immerhin schreiben:

Java:
Option<String> stringOption = ...
Option<Integer> intOption = Option.<Integer>none();
for(String s : stringOption) {
   intOption = Option.some(s.length());
}

Zugegebenermaßen nicht umwerfend elegant, aber immerhin...
 

Ark

Top Contributor
@Landei: Coole Fragestellung. :)

Spontan fallen mir Sachen ein wie (Namen sind hoffentlich sprechend genug, sind nicht immer nur Klassen):
  • Code:
    System.arrayequals()
    (wie
    Code:
    System.arraycopy()
    )
  • ArrayIterator
  • ganze Pakete zu Kodierungen à la Base64, BCD etc.
  • Rational (Bruchzahlen à la Nenner/Zähler)
  • Complex (Wrapper-Klasse für komplexe Zahlen)
  • ComplexMath (wie Math mit primitiven Datentypen, aber für komplexe Zahlen)
  • FastMath (Math-Variante, die nur Näherungen berechnet, dafür aber wesentlich schneller ist)
  • BigDecimalMath
  • IntegerMath (Ganzzahloperationen für long bzw. int, wobei Überläufe etc. abgefragt werden können bzw. überprüft werden)
  • Matrix (für Matrizenoperationen etc.)
  • Klassen für FFT (DFT/DCT/DST/DHT) und Wavelets
  • Spezielle Collections-Implementierungen für primitive Datentypen, à la IntIntHashMap etc.
  • Interface java.util.Filter<T> (gibt es als DirectoryStream.Filter<T>, aber in java.nio.file, WTF! Könnte eigentlich viele "spezielle" Filterklassen im JDK ersetzen.)
  • java.util.Trie (Typvariablen bitte dazudenken)
  • SetList<E> (List-Typ, wobei jedes Element in dieser Liste nur einmal vorkommen darf; manchmal doch recht praktisch)
  • CSVReader und CSVWriter
  • HTMLParser
  • GlobalHotkeys
  • ncurses-Schnittstelle
  • ScalableVectorGraphics (SVG)

Viele/einige/alle(?) Sachen gibt's zwar über externe Libs, aber ich bin der Meinung, dass vor allem diese Mathematische-Grundlagen-Sachen eigentlich mit dem JDK kommen sollten. Es ist sozusagen ein "Fehler", dass folgende Libs überhaupt existieren (müssen):

Ark
 
Zuletzt bearbeitet:
B

...ButAlive

Gast
Mittlerweile binde ich googles guava oft ein. Da gibt es einige Klassen die ich mir auch im JDK wünschen würden. Zum Beispiel wären das:

- Optional damit man mit
Code:
null
besser umgehen kann. Statt einer Klasse würde ich mir dafür aber auch den Elvis-Operator wüschen

- Preconditions um Parameter einfach checken zu können.

- Multimap eine Map mit beliebigen Key und einer Liste von Werten. Praktisch um Werte zu gruppieren.

- EventBus um Evente zu verarbeiten, wesentlich einfacher als das Observerpattern selbst zu implementieren.
 

Marco13

Top Contributor
Ganz "realistisch": Ein ComparableComparator - ein Comparator, der beliebige Comparables vergleicht (schaut euch mal die entsprechenden Klassen an, welcher Code da dupliziert wurde, weil es den NICHT gibt :autsch: )

Ansonsten stimmt es: SEHR viel von dem, was man "immer schon mal haben wollte", gibt es in Guava. Und auch vieles, was man bisher nicht vermisst hat, bei dem man wenn man es sieht aber denkt: "Hey, das ist ja praktisch, damit könnte man .... :reflect: " :D

Es ist schwierig, die Grenze zu ziehen. Vieles braucht man nur in SEHR speziellen Zusammenhängen. Es gibt schon Stimmen, die sich (teilweise zu Recht) über die Explosion der Standard-API beschweren. Solange es sowas wie Jigsaw nicht gibt, sollte man mit Erweiterungen IMHO nicht ganz so verschwenderisch umgehen. Es soll auch den Namen "Standard-API" verdienen.

Z.B. Complex numbers ... ja, bei sehr vielen Mathematisch-Wissenschaftlichen Themen braucht man das, aber bei 99% der in Java geschriebenen Anwendungen braucht man das nicht. Meistens ist es so, dass jemand, der sich "ernsthaft" mit einer bestimmten Sache beschäftigt, mehr braucht, als man vernünftig in einer Standard-API unterbringen könnte. (Erstbestes Beispiel: Joa, Math.random() tut's doch? Aber wenn man kryptographisch sichere, große Zufallszahlen will, kommt man um eine Lib mit Mersenne Twister & Co eben nicht drumrum...)

@Ark, BTW: "System.arrayequals()" -> Arrays.equals(...)

@Landei: Einige der genannten Punkte kommen wohl daher, dass du... *räusper* von einem bestimmten JVM-Alien infiziert bist, das jetzt aus deinem Bauch raus will :D

Ich finde, einige Dinge könnten in die Standard-API augenommen werden, weil sie sehr allgemein und insbesondere domänenunabhängig (!) sind. Ganz prominent (und auch schon in Guava) : Sowas wie Predicate und Function. Allerdings stehen 1. einige Entwicklungen für Java 8 an, die diese Erweiterungen vermutlich überflüsig machen, und 2. würde das dann noch einen ganzen Rattenschwanz von "Wenn dies dann aber zumindest auch das"-Wünschen nach sich ziehen.... (Plakativ: Warum nur Tuple und Triple, und nicht auch Quadruple oder alle weiteren aus javatuples - Main ...?)
 

Ark

Top Contributor
"System.arrayequals()" -> Arrays.equals(...)
Das ist mir schon klar. Es geht mir darum, ähnlich wie bei
Code:
System.arraycopy()
die Möglichkeiten der Maschine auszunutzen. So kann man sich z.B. leicht Code vorstellen, der bei einem byte[]-Array jeweils 8 Bytes auf einmal vergleicht, wenn es sich um eine 64-Bit-Maschine handelt usw. ;)

Wo wir gerade bei Arrays sind: Ein one-fits-all-0-Elemente-Array wäre auch nicht schlecht. ^^ Und relationale Algebra für sortierte(!) Arrays à la
Code:
Arrays.addAll()
oder
Code:
Arrays.containsAll()
wäre auch praktisch. Oder
Code:
Arrays.toArraySet()
, das Mehrfachvorkommen eliminiert … und so ;)

Ark
 
Zuletzt bearbeitet:
T

tröööt

Gast
hmm ... schon interessant was hier alles kommt was sich einige als bestandteil der SE-API wünschen ... bei einigen dingen würde ich mitgehen ... bei anderen denke ich mir eher : java wurde dafür eigentlich ursprünglich nicht konzipiert ...

sicher ... sowas wie n ordentlicher Base64-codec sollte eigentlich dabei sein ... aber global hotkeys gehen dann doch ne nummer zu weit ... zu mal sowas stark system-abhängig ist

@jmar83
die java-mail-api ist bestandteil der EE-API ... warum diese in die SE-API aufgenommen werden sollte ergibt für mich keinen sinn ...
zu mal die lib als JAR mit SMTP, POP3 und IMAP gerade mal 500kb groß ist ...
 

Landei

Top Contributor
@Landei: Einige der genannten Punkte kommen wohl daher, dass du... *räusper* von einem bestimmten JVM-Alien infiziert bist, das jetzt aus deinem Bauch raus will :D

Man wird sich ja noch Anregungen holen dürfen :)

Jedenfalls sind das alles Sachen, die auch unter Java sinnvoll sein können. Wenn ich wirklich funktionales Java haben wöllte, hätte ich Functional Java auf die Wunschliste gesetzt.
 

KSG9|sebastian

Top Contributor
Klar wäre es schon Funktionen zu besitzen, gerade Stringmanipulation u.s.w. ist ein Graus mit Standart-Java-Mitteln. Die Frage ist natürlich schon, wo fängt man an und wo hört man auf.

Besser eine externe Bibliothek als ein Urwald an Klassen und Helferklassen für jeden Spezialfall...
 
T

trääät

Gast
sorry ... aber codes die NULL raisen wurden 1) nicht genug getestet und 2) einfach nur schlecht implementiert ...

wenn man nicht 100% sicher sein kann das X nie NULL ist dann schreibt man einfach if(x==null) ...

ALLE RuntimeException lassen sich durch richtige programmierung und richtiges testen (ich spreche hier mal nicht von diesem bullshit "unit-test") komplett ausschließen ... auch wenn if(x==null) nicht wirklich das beste ist so ist es doch immer noch besser als catch(NullPointerException) oder sogar catch(RuntimeException) ... wobei es (wie mir mal an nem beispiel gezeigt wurde) durchaus sinn macht Throwable zu catchen ... obwohl auch das eigentlich NIE vorkommen sollte ... und eher zeugnis für sehr miesen code ist ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A feststellen, welche Klassen ein Interface implementieren Allgemeine Java-Themen 3
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
P Feststellen, Welche Classes ich aus einem JAR nutze? Allgemeine Java-Themen 6
H Apache fop -- welche Möglichkeit gibt es um den Fortschritt anzuzeigen (Progressbar) Allgemeine Java-Themen 5
goldmensch Datentypen Welche Methode hat die bessere Performance? Allgemeine Java-Themen 12
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
F Java Web App - welche Technologien? Allgemeine Java-Themen 11
S Welche API? Allgemeine Java-Themen 6
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
K Welche Zertifizierung passt? Allgemeine Java-Themen 10
A Variable, welche Exeption wirft als "Global" deklarieren Allgemeine Java-Themen 13
J Videokonferenz mittel Java ? Welche Möglichkeiten habe ich ? Allgemeine Java-Themen 2
J Welche Layouts benutzt ihr? Allgemeine Java-Themen 2
G Wiedereinstieg, welche Java Version empfehlt ihr Allgemeine Java-Themen 7
M Welche Exceptionbehandlung ist sinnvoll? Allgemeine Java-Themen 3
H NetBeans geotools 15 oder 16 - welche Abhängingkeiten gibt es? Welche Jars brauche ich? Allgemeine Java-Themen 4
S Welche Java Techologien gibt es fürs Frontend Allgemeine Java-Themen 4
S Welche Nutzen bringen Lamda Expressions? Allgemeine Java-Themen 1
M Welche Umgebung und Frameworks für mich als Umsteiger Allgemeine Java-Themen 6
C Welche Styleconvention Allgemeine Java-Themen 0
ruutaiokwu datenstruktur welche sich "im kreis" dreht Allgemeine Java-Themen 26
R LinkedList und Threads - welche Methode ist besser? Allgemeine Java-Themen 2
F Welche Systeme für hoch skalierbare Webanwendung? Allgemeine Java-Themen 7
P Check, welche Java Version installiert bevor ein Programm ausgeführt wird. Allgemeine Java-Themen 12
G Welche Datenstruktur? Allgemeine Java-Themen 19
I Webseite auslesen (welche mittels Javascript Inhalt einbindet) Allgemeine Java-Themen 4
R Welche waren eure ersten Projekte? Allgemeine Java-Themen 10
G Wie kann man sehen, welche Applikationen mit java arbeiten? Allgemeine Java-Themen 17
L Social Media Webportal -> Welche Technologie (JEE, GWT) Allgemeine Java-Themen 8
J Welche Informationen werden beim Kompilieren gespeichert? Allgemeine Java-Themen 3
S Welche Datenstruktur für verschiedene Sprachen sinnvoll? Allgemeine Java-Themen 2
I Swing Welche Swing Komponente soll ich nehmen? Allgemeine Java-Themen 2
vladimir Welche API für Grafik und Drag&Drop Allgemeine Java-Themen 3
schlingel Plugin-Architektur - Welche nehmen? Allgemeine Java-Themen 6
U Welche 2D-API? Allgemeine Java-Themen 4
S Vererbung: Welche Methode wird verwendet? Allgemeine Java-Themen 9
M Welche Dateiformate kann Java einlesen?? Allgemeine Java-Themen 26
E Neues Projekt - Welche GUI / IDE /Techniken / etc. Allgemeine Java-Themen 14
E Welche Icons für sichtbar /unsichtbar Allgemeine Java-Themen 2
J Welche Lösung für Servlets und JSPs in Eclipse? Allgemeine Java-Themen 5
N Für welche Art von Berechnungen macht JCUDA Sinn? Allgemeine Java-Themen 12
A Welche Exception verwenden? Allgemeine Java-Themen 2
T Welche Art von Hilfe?? Allgemeine Java-Themen 5
N welche run.bat? Allgemeine Java-Themen 3
R Assoziativer Speicher welche Unterschiede? Allgemeine Java-Themen 5
Developer_X Welche Dateien kann Java laden? Allgemeine Java-Themen 9
G Welche Schreibeweise ist richtig Allgemeine Java-Themen 16
ARadauer welche java version wird benutzt Allgemeine Java-Themen 4
E Welche Java-Version kennt isEmpty() ? Allgemeine Java-Themen 2
F Welche dicken Java-Bücher kennt ihr? Allgemeine Java-Themen 31
M Prüfen, welche anderen Programme laufen Allgemeine Java-Themen 5
K [erledigt] JVM welche läuft Allgemeine Java-Themen 9
G synchronized-Sclüsselwort: welche Reihenfolge zum Betreten? Allgemeine Java-Themen 6
E welche standalone Version von Tomcat benutzen? Allgemeine Java-Themen 6
S Welche Speicherung von Daten bei Kalendarfunktion der jtable Allgemeine Java-Themen 7
F welche Datenstruktur? Allgemeine Java-Themen 9
P welche jar enthält was? Allgemeine Java-Themen 5
F Welche Datenstruktur Allgemeine Java-Themen 2
V Welche Oberfläche empfehlt ihr mir? Allgemeine Java-Themen 19
Z Welche Datenstruktur verwende ich h_ier bloss ? Allgemeine Java-Themen 14
S Welche jar's werden wirklich benötigt?` Allgemeine Java-Themen 5
G Dateien löschen welche vor heute erstellt wurden? Allgemeine Java-Themen 7
G Prüfen welche JRE-Version gebraucht wird Allgemeine Java-Themen 19
I Welche Möglichkeiten bietet Java um Records in Dateien zu sp Allgemeine Java-Themen 10
B Drucken - welche Bibliothek favorisiert Ihr? Allgemeine Java-Themen 16
J Welche Daten für Ative-X Funktion? Allgemeine Java-Themen 5
P welche java version für javax.mail? Allgemeine Java-Themen 7
B Erkennen welche Objekte den Heap verbrauchen? Allgemeine Java-Themen 2
B Welche Java-Version? Allgemeine Java-Themen 7
S Welche Javaversion ist in meinem Linux? Allgemeine Java-Themen 2
M 2 Javaversionen welche aktiv? Allgemeine Java-Themen 3
C Datumsfelder auslesen - egal welche Zeitzone Allgemeine Java-Themen 2
F SuppressWarnings("xxx") - welche Möglichkeiten gib Allgemeine Java-Themen 4
R Welche Exception bei write() nehmen Allgemeine Java-Themen 7
reibi JVM fragen welche Apps geladen sind Allgemeine Java-Themen 7
L Welche Collection ist die richtige ? Listen mergen Allgemeine Java-Themen 3
S Welche Datenstruktur passt bei mir? Allgemeine Java-Themen 6
D Welche Datenstruktur? Allgemeine Java-Themen 2
B Grafische Oberfläche - Welche Komponenten? Allgemeine Java-Themen 5
T JMF, welche Codecs gibts, und vor allem, wo? Allgemeine Java-Themen 9
H Welche Scriptsprache verwendet ihr in Java Allgemeine Java-Themen 9
G Welche Referenzsoftware ist in Java geschrieben? Allgemeine Java-Themen 8
P Welche Collection verwenden? Allgemeine Java-Themen 4
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
Zrebna Wie ermittelt man alle testbaren (zu testenden) Klassen in seinem Maven-Projekt? Allgemeine Java-Themen 23
8u3631984 Jacoco Testcoverage bei Abstracten Klassen in verschachtelten Modulen Allgemeine Java-Themen 6
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
8u3631984 Problem beim Mocken von Record Klassen Allgemeine Java-Themen 4
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
B Wie kann ich mein 8 Klassen Gebilde objektorientierter schreiben? Allgemeine Java-Themen 114
N abstracte klassen methoden Allgemeine Java-Themen 32
W Klassen Zugriff auf ein Textfile aus allen Klassen. Allgemeine Java-Themen 2
M Klasse durch Klassen Aufteilung verbessern, aber wo? Allgemeine Java-Themen 1
stormyark Problem beim Klassen erstellen Allgemeine Java-Themen 1
M Kann man Annotationen auf Klassen einschränken die ein Interface implementieren? Allgemeine Java-Themen 1
nonickatall Methoden Kann man Klassen/Methoden aus Variablen heraus aufrufen? Allgemeine Java-Themen 6
H Interface PluginSystem ClassNotFound exception für library Klassen Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben