Java to niezależny od platformy, obiektowy język programowania wysokiego poziomu, pierwotnie opracowany przez Sun Microsystems. Java jest obecnie własnością firmy Oracle, która zakupiła Sun w 2010 roku.
Wygląda na to, że Java ma moc deklarowania klas niepochodzących od wieków, a teraz C ++ też to ma. Jednak w świetle zasady Open / Close w SOLID, dlaczego miałoby to być przydatne? Dla mnie finalsłowo kluczowe brzmi jak friend- jest legalne, ale jeśli go używasz, najprawdopodobniej projekt jest nieprawidłowy. …
Widzę, że Java ma Boolean (klasa) vs boolean (prymityw). Podobnie istnieje liczba całkowita (klasa) vs int (pierwotna). Jaka jest najlepsza praktyka, kiedy używać prymitywnej wersji w porównaniu z klasą? Czy zasadniczo powinienem zawsze używać wersji klasowej, chyba że mam konkretny (wydajność?) Powód, aby tego nie robić? Jaki jest najczęściej akceptowany …
Szukam ostatecznej odpowiedzi z pierwotnego lub wtórnego źródła, dlaczego (zwłaszcza) Java i C # zdecydowały się na metodę statyczną jako punkt wejścia, zamiast reprezentować instancję aplikacji przez instancję Applicationklasy (z punktem wejścia bycie odpowiednim konstruktorem). Tło i szczegóły moich wcześniejszych badań Zostało to już wcześniej zadane. Niestety istniejące odpowiedzi są …
Miałem przyjaciela, który powiedział: Docker jest niesamowity. Możesz go użyć do replikacji produkcji i wszystkich jej dziwactw na komputerze lokalnym. Następnie możesz szybko wdrożyć tę instancję przez wszystkie przepływy pracy pomostowej . Byłoby to prawdą, gdyby programiści pisali Ruby, PHP lub Go - tam gdzie było binarne łącze kierunku do …
W miejscu pracy widzę wiele klas, które wykonują takie rzeczy: public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } } …
Niedawno opanowałem wyrażenie Lambda, które zostało wprowadzone w java 8. Odkryłem, że ilekroć używam funkcjonalnego interfejsu, zwykle używam wyrażenia Lambda zamiast tworzyć klasę, która implementuje funkcjonalny interfejs. Czy jest to uważane za dobrą praktykę? A może ich sytuacje, w których użycie Lambdy jako funkcjonalnego interfejsu jest nieodpowiednie?
Czy / dlaczego Java musi mieć voidmetody? Odniesienie : Żadna metoda zadeklarowana jako nieważna nie zwraca wartości. O ile myślę, każde użycie voidbyłoby lepiej obsługiwane przez zwrócenie flagi statusu, wywołanego obiektu lub null. To sprawiłoby, że każde wywołanie byłoby stwierdzeniem, które można przypisać, i ułatwiłoby budowanie wzorców i tworzenie łańcuchów …
Ostatnio zastanawiałem się nad pytaniami do wywiadu i zastanawiałem się nad złymi doświadczeniami z wywiadu, które miałem w przeszłości. Jedną ze szczególnych uwag jest to, że zapytałem ankietera, dlaczego zespół zdecydował się zastosować EJB 3 nad Spring w swoim produkcie. Ankieter niemal oderwał mi twarz, krzycząc „Ponieważ wiosna to nie …
Pracuję nad ogromnym projektem (bardziej jak splątaną kombinację dziesiątek mini projektów, których nie można łatwo rozdzielić z powodu złego zarządzania zależnościami, ale to inna dyskusja) w Javie za pomocą eclipse. Wyłączyliśmy już wiele ostrzeżeń w ustawieniach kompilatora, a projekt nadal zawiera ponad 10 000 ostrzeżeń. Jestem wielkim zwolennikiem próby rozwiązania …
Widzę najbardziej niezmienne POJO napisane w ten sposób: public class MyObject { private final String foo; private final int bar; public MyObject(String foo, int bar) { this.foo = foo; this.bar = bar; } public String getFoo() { return foo; } public int getBar() { return bar; } } Mimo to …
Staram się owinąć głowę wokół TDD, a konkretnie części programistycznej. Przeglądałem niektóre książki, ale te, które znalazłem, dotyczą głównie części testowej - Historii NUnit, dlaczego testowanie jest dobre, Red / Green / Refactor i jak stworzyć kalkulator strun. Dobre rzeczy, ale to „tylko” testy jednostkowe, a nie TDD. W szczególności …
Każdy kompetentny programista Java wie, że musisz użyć String.equals (), aby porównać ciąg, zamiast ==, ponieważ == sprawdza równość referencji. Kiedy mam do czynienia z łańcuchami, przez większość czasu sprawdzam równość wartości zamiast równości odniesienia. Wydaje mi się, że byłoby bardziej intuicyjne, gdyby język pozwalał na porównywanie wartości ciągów za …
W tym artykule Przepełnienie stosu wymieniono dość kompleksową listę sytuacji, w których specyfikacja języka C / C ++ deklaruje, że jest „niezdefiniowanym zachowaniem”. Chcę jednak zrozumieć, dlaczego inne współczesne języki, takie jak C # lub Java, nie mają pojęcia „niezdefiniowane zachowanie”. Czy to oznacza, że projektant kompilatora może kontrolować wszystkie …
Jakiś czas temu napisałem tę odpowiedź na pytanie, w jaki sposób uniknąć pobierania i ustawiania każdej zmiennej zmiennej. W tym czasie miałem tylko trudne do zwerbowania przeczucie, że to zły pomysł, ale OP wyraźnie pytał, jak to zrobić. Szukałem tutaj, dlaczego może to stanowić problem, i znalazłem to pytanie , …
Bardzo doceniam nowe funkcje Java 8 dotyczące lambd i interfejsów metod domyślnych. Nadal jednak nudzą mnie sprawdzone wyjątki. Na przykład, jeśli chcę tylko wymienić wszystkie widoczne pola obiektu, chciałbym po prostu napisać: Arrays.asList(p.getClass().getFields()).forEach( f -> System.out.println(f.get(p)) ); Ponieważ jednak getmetoda może zgłosić sprawdzony wyjątek, co nie jest zgodne z Consumerumową …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.