Запитання з тегом «java»

Java - популярна мова програмування високого рівня. Використовуйте цей тег, коли у вас виникають проблеми з використанням або розумінням самої мови. Цей тег рідко використовується поодинці і найчастіше використовується в поєднанні з [весна], [весна-черевик], [jakarta-ee], [android], [javafx], [gradle] і [maven].

4
Чи може Mockito заглушити метод, не враховуючи аргументу?
Я намагаюся перевірити деякий застарілий код, використовуючи Mockito. Я хочу заглушити a, FooDaoякий використовується у виробництві наступним чином: foo = fooDao.getBar(new Bazoo()); Я можу написати: when(fooDao.getBar(new Bazoo())).thenReturn(myFoo); Але очевидною проблемою є те, що getBar()ніколи не викликається тим самим Bazooоб'єктом, до якого я заглушив метод. (Прокляття цього newоператора!) Мені подобається, якби …

30
Зробити приватний метод загальнодоступним для тестування його ... хороша ідея?
Примітка модератора: Тут вже розміщено 39 відповідей (деякі видалено). Перш ніж опублікувати свою відповідь, подумайте, чи можете ви додати щось важливе до дискусії. Ви більш ніж ймовірно просто повторюєте те, що вже сказав хтось інший. Іноді в мене виникає потреба зробити приватний метод у загальнодоступному класі просто для того, щоб …
301 c#  java  unit-testing 




9
Як уникнути божевілля конструктора залежної інжекції?
Я вважаю, що мої конструктори починають виглядати так: public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... ) з постійно зростаючим списком параметрів. Оскільки "Контейнер" - це мій контейнер для ін'єкцій залежності, чому я не можу просто зробити це: public MyClass(Container con) для кожного класу? Які недоліки? Якщо я це роблю, то …

9
Gson: Пряме перетворення рядка в JsonObject (без POJO)
Не можу цього зрозуміти. Я намагаюся маніпулювати деревом JSON в GSON, але у мене є випадок, коли я не знаю або не маю POJO для перетворення рядка до перетворення в JsonObject. Чи є спосіб перейти безпосередньо від точки Stringдо JsonObject? Я спробував таке (синтаксис Scala): val gson = (new GsonBuilder).create …
300 java  json  gson 


9
Як надрукувати об'єкт Java без отримання "SomeType @ 2f92e0f4"?
У мене клас визначений так: public class Person { private String name; // constructor and getter/setter omitted } Я спробував надрукувати екземпляр свого класу: System.out.println(myPerson); але я отримав наступний результат: com.foo.Person@2f92e0f4. Подібне сталося, коли я намагався надрукувати масив Personоб’єктів: Person[] people = //... System.out.println(people); Я отримав вихід: [Lcom.foo.Person;@28a418fc Що означає …
300 java  string  object  tostring 


21
Який найближчий замінник покажчика функції на Java?
У мене є метод, який становить близько десяти рядків коду. Я хочу створити більше методів, які роблять точно те саме, за винятком невеликого розрахунку, який змінить один рядок коду. Це ідеальний додаток для передачі вказівника функції для заміни цього рядка, але у Java немає функціональних покажчиків. Яка моя найкраща альтернатива?


12
Яке призначення META-INF?
На Java ви часто бачите папку META-INF, що містить деякі мета-файли. Яке призначення цієї папки і що я можу туди помістити?
298 java  meta-inf 

12
IntelliJ IDEA генерує serialVersionUID
Як генерувати це значення в IntelliJ IDEA? Заходжу в Налаштування -> Помилки -> Проблеми серіалізації -> Клас серіалізації без 'serialVersionUID', але він все ще не показує мені попередження. Батько мого класу PKladrBuilding реалізує інтерфейс Serializable . Частина коду: public class PKladrBuilding extends PRQObject public abstract class PRQObject extends PObject public …

7
Яка різниця між атомною / летючою / синхронізованою?
Як атомні / летючі / синхронізовані працюють всередині? Яка різниця між наступними кодовими блоками? Код 1 private int counter; public int getNextUniqueIndex() { return counter++; } Код 2 private AtomicInteger counter; public int getNextUniqueIndex() { return counter.getAndIncrement(); } Код 3 private volatile int counter; public int getNextUniqueIndex() { return counter++; …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.