Pytania otagowane jako java

Java jest popularnym językiem programowania wysokiego poziomu. Użyj tego tagu, jeśli masz problemy z używaniem lub rozumieniem samego języka. Ten znacznik jest rzadko używany samodzielnie i jest najczęściej używany w połączeniu z [spring], [spring-boot], [jakarta-ee], [android], [javafx], [gradle] i [maven].

4
Dlaczego typ zwracanej wartości lambda nie jest sprawdzany podczas kompilacji?
Użyte odwołanie do metody ma typ zwracany Integer. Jednak niezgodność Stringjest dozwolona w poniższym przykładzie. Jak naprawić withdeklarację metody, aby uzyskać bezpieczny typ referencyjny metody bez ręcznego rzutowania? import java.util.function.Function; public class MinimalExample { static public class Builder<T> { final Class<T> clazz; Builder(Class<T> clazz) { this.clazz = clazz; } static …

3
Pośrednie operacje strumieniowe nie są obliczane na podstawie liczby
Wygląda na to, że mam problem ze zrozumieniem, w jaki sposób Java komponuje operacje strumieniowe do potoku strumieniowego. Podczas wykonywania następującego kodu public static void main(String[] args) { StringBuilder sb = new StringBuilder(); var count = Stream.of(new String[]{"1", "2", "3", "4"}) .map(sb::append) .count(); System.out.println(count); System.out.println(sb.toString()); } Konsola drukuje tylko 4. …
33 java  java-stream 

6
Czy nie należy twierdzić, że nie ma wartości zerowej w instrukcji assert w kodzie produkcyjnym? [Zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte w zeszłym miesiącu . Widziałem to pytanie, ale mam jeszcze kilka pytań dotyczących użycia assertsłowa kluczowego. Rozmawiałem …
32 java  assert  nullable 

4
Jaka jest różnica między <? rozszerza bazę> i <T rozszerza bazę>?
W tym przykładzie: import java.util.*; public class Example { static void doesntCompile(Map&lt;Integer, List&lt;? extends Number&gt;&gt; map) {} static &lt;T extends Number&gt; void compiles(Map&lt;Integer, List&lt;T&gt;&gt; map) {} static void function(List&lt;? extends Number&gt; outer) { doesntCompile(new HashMap&lt;Integer, List&lt;Integer&gt;&gt;()); compiles(new HashMap&lt;Integer, List&lt;Integer&gt;&gt;()); } } doesntCompile() nie można skompilować z: Example.java:9: error: incompatible types: …

1
Nieoczekiwany czas działania kodu HashSet
Więc pierwotnie miałem ten kod: import java.util.*; public class sandbox { public static void main(String[] args) { HashSet&lt;Integer&gt; hashSet = new HashSet&lt;&gt;(); for (int i = 0; i &lt; 100_000; i++) { hashSet.add(i); } long start = System.currentTimeMillis(); for (int i = 0; i &lt; 100_000; i++) { for (Integer …

5
Jak mogę uniknąć powtarzania kodu inicjującego skrót mapy?
Każdy klient ma identyfikator i wiele faktur, wraz z datami, przechowywanymi jako Hashmap klientów według identyfikatorów, skrótów faktur według dat: HashMap&lt;LocalDateTime, Invoice&gt; allInvoices = allInvoicesAllClients.get(id); if(allInvoices!=null){ allInvoices.put(date, invoice); //&lt;---REPEATED CODE }else{ allInvoices = new HashMap&lt;&gt;(); allInvoices.put(date, invoice); //&lt;---REPEATED CODE allInvoicesAllClients.put(id, allInvoices); } Wydaje się, że rozwiązaniem Java jest użycie getOrDefault: …
27 java  java-8  hashmap 

1
Brak metafabryki dla metody statycznej
Mam problem z aplikacją, który po zalogowaniu się powoduje awarię aplikacji i pojawia się błąd: java.lang.NoSuchMethodError: No static method metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; in class Ljava/lang/invoke/LambdaMetafactory; or its super classes (declaration of 'java.lang.invoke.LambdaMetafactory' appears in /apex/com.android.runtime/javalib/core-oj.jar) at okhttp3.internal.Util.&lt;clinit&gt;(Util.java:87) at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321) at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313) at okhttp3.HttpUrl.get(HttpUrl.java:917) at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:492) at com.example.usub.Remote.RetrofitClient.getClient(RetrofitClient.java:14) at com.example.usub.Common.Common.getGoogleAPI(Common.java:10) at com.example.usub.Welcome.onCreate(Welcome.java:208) at …
26 java  android 

4
Automatyczne rozpakowywanie wymaga potrójnego if-else
Ten fragment kodu działa dobrze: - Integer nullInt = null; if (1 &lt;= 3) { Integer secondNull = nullInt; } else { Integer secondNull = -1; } System.out.println("done"); Zgłasza to jednak wyjątek o wartości zerowej, podczas gdy środowisko Eclipse ostrzega o potrzebie automatycznego rozpakowywania: Integer nullInt = null; Integer secondNull …


1
Dlaczego usunięcie z TreeSet za pomocą niestandardowego komparatora nie usuwa większego zestawu elementów?
Korzystając zarówno z Java 8, jak i Java 11, weź pod uwagę następujące kwestie TreeSetz String::compareToIgnoreCasekomparatorem: final Set&lt;String&gt; languages = new TreeSet&lt;&gt;(String::compareToIgnoreCase); languages.add("java"); languages.add("c++"); languages.add("python"); System.out.println(languages); // [c++, java, python] Kiedy próbuję usunąć dokładne elementy znajdujące się w TreeSet, to działa: wszystkie te określone są usuwane: languages.removeAll(Arrays.asList("PYTHON", "C++")); System.out.println(languages); // …

3
Do czego służy opcja java.security.egd?
W projekcie, nad którym pracuję, aplikacja jest uruchamiana za pomocą polecenia podobnego do tego: java -Djava.security.egd=file:/dev/urandom -jar app.jar Nigdy wcześniej nie widziałem takiej java.security.egdopcji. Trochę szukając, wydaje się być używany do konfiguracji generowania liczb losowych w aplikacji Java. Czy to jest poprawne? Kiedy należy zastosować?
22 java  jvm 

7
Jak utworzyć blokujący moduł ładujący w tle w Javie 8?
Pytanie Jak utworzyć właściwy moduł ładujący w tle w Javie 8? Warunki: dane powinny być ładowane w tle po załadowaniu dane powinny zostać wyświetlone podczas ładowania danych nie należy przyjmować dalszych żądań jeśli podczas ładowania danych pojawiały się żądania, po upływie określonego czasu (np. 5 sekund) należy zaplanować kolejne ładowanie …

1
Co to jest zasięg proxy na wiosnę?
Jak wiemy, Spring używa serwerów proxy w celu dodania funkcjonalności ( @Transactionali @Scheduledna przykład). Istnieją dwie opcje - użycie dynamicznego proxy JDK (klasa musi implementować niepuste interfejsy) lub wygenerowanie klasy potomnej za pomocą generatora kodu CGLIB. Zawsze myślałem, że proxyMode pozwala mi wybierać między dynamicznym proxy JDK a CGLIB. Ale …

2
Android AsyncTask API przestaje działać w Androidzie 11. Jakie są alternatywy?
EDYCJA : To pytanie nie jest duplikatem jak Zaledwie kilka dni temu dokonano zatwierdzenia AOSP dotyczącego wycofania. Drugie pytanie dotyczy używania AsyncTaskLoader zamiast AsyncTask. Google wycofuje interfejs API Android AsyncTask w systemie Android 11 i sugeruje jego użycie java.util.concurrent. możesz sprawdzić zatwierdzenie tutaj * * @deprecated Use the standard &lt;code&gt;java.util.concurrent&lt;/code&gt; …
21 java  android 

2
Zdefiniuj domyślny konstruktor rekordu
Mam rekord i chcę dodać do niego domyślny konstruktor. public record Record(int recordId) { public Record{ } } Ale stworzył konstruktor z int param. public final class Record extends java.lang.Record{ private final int recordId; public Record(int); //other method } Jak możemy dodać domyślny konstruktor do rekordu?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.