คำถามติดแท็ก java

Java เป็นภาษาการเขียนโปรแกรมระดับสูงที่เป็นที่นิยม ใช้แท็กนี้เมื่อคุณมีปัญหาในการใช้หรือทำความเข้าใจภาษานั้น ๆ แท็กนี้ไม่ค่อยได้ใช้คนเดียวและมักใช้ร่วมกับ [สปริง], [สปริงบูต], [jakarta-ee], [android], [javafx], [gradle] และ [maven]

10
Spring Boot + JPA: ไม่สนใจคำอธิบายประกอบชื่อคอลัมน์
ฉันมีโปรแกรมฤดูใบไม้ผลิ Boot spring-boot-starter-data-jpaกับการพึ่งพา คลาสเอนทิตีของฉันมีคำอธิบายประกอบคอลัมน์ที่มีชื่อคอลัมน์ ตัวอย่างเช่น: @Column(name="TestName") private String testName; SQL ที่สร้างขึ้นโดยสร้างtest_nameเป็นชื่อคอลัมน์ หลังจากค้นหาวิธีแก้ปัญหาฉันพบว่าspring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategyแก้ไขปัญหาได้แล้ว (ชื่อคอลัมน์นำมาจากคำอธิบายประกอบคอลัมน์) อย่างไรก็ตามคำถามของฉันคือเหตุใดโดยไม่ตั้งชื่อ _strategy เป็นEJB3NamingStrategyJPA จึงไม่สนใจคำอธิบายประกอบคอลัมน์ บางทีภาษาไฮเบอร์เนตอาจมีส่วนเกี่ยวข้องกับมัน? ฉันกำลังเชื่อมต่อกับ MS SQL 2014 Express และบันทึกของฉันประกอบด้วย: Unknown Microsoft SQL Server major version [12] using SQL Server 2000 dialect Using dialect: org.hibernate.dialect.SQLServerDialect

7
จะอัปเดตตัวแปร PATH อย่างถาวรจากบรรทัดคำสั่งของ Windows ได้อย่างไร
ถ้าฉันดำเนินการset PATH=%PATH%;C:\\Something\\binจากบรรทัดคำสั่ง ( cmd.exe) แล้วดำเนินการecho %PATH%ฉันเห็นสตริงนี้เพิ่มใน PATH ถ้าฉันปิดและเปิดบรรทัดคำสั่งสตริงใหม่นั้นจะไม่อยู่ใน PATH ฉันจะอัปเดต PATH อย่างถาวรจากบรรทัดคำสั่งสำหรับกระบวนการทั้งหมดในอนาคตได้อย่างไรไม่ใช่เฉพาะสำหรับกระบวนการปัจจุบัน ฉันไม่ต้องการทำสิ่งนี้โดยไปที่คุณสมบัติของระบบ→ขั้นสูง→ตัวแปรสภาพแวดล้อมและอัปเดต PATH ที่นั่น คำสั่งนี้ต้องดำเนินการจากแอปพลิเคชัน Java (โปรดดูคำถามอื่นของฉัน)
122 java  windows  cmd  path 

8
เหตุใดเราจึงไม่ควรใช้การป้องกันแบบคงที่ใน java
ฉันกำลังเจอคำถามนี้มีวิธีลบล้างตัวแปรคลาสใน Java หรือไม่? ความคิดเห็นแรกที่มี 36 upvotes คือ: ถ้าคุณเคยเห็นให้protected staticเรียกใช้ ใครสามารถอธิบายได้ว่าทำไมprotected staticขมวดคิ้ว?

9
การใช้ Selenium Web Driver เพื่อดึงค่าของอินพุต HTML
ใน HTML ของเว็บแอปมีรหัสต่อไปนี้ <input type="text" name="prettyTime" id="prettyTime" class="ui-state-disabled prettyTime" readonly="readonly"> สิ่งที่แสดงบนหน้านี้คือสตริงที่แสดงเวลา ใน Selenium Web Driver ฉันมีWebElementวัตถุที่อ้างถึงการ<input>ใช้ WebElement timeStamp = waitForElement(By.id("prettyTime")); ฉันต้องการรับค่าของWebElementหรือกล่าวอีกนัยหนึ่งคือสิ่งที่พิมพ์บนหน้า ฉันลองใช้WebElementgetters ทั้งหมดแล้วและยังไม่มีการดึงค่าจริงที่ผู้ใช้เห็น ความช่วยเหลือใด ๆ ขอบคุณ

6
การเริ่มต้นวัตถุจำลอง - MockIto
มีหลายวิธีในการเริ่มต้นวัตถุจำลองโดยใช้ MockIto วิธีใดดีที่สุดในบรรดาสิ่งเหล่านี้ 1 public class SampleBaseTestCase { @Before public void initMocks() { MockitoAnnotations.initMocks(this); } 2 @RunWith(MockitoJUnitRunner.class) [แก้ไข] 3. mock(XXX.class); แนะนำหน่อยว่ามีวิธีอื่นที่ดีกว่านี้ไหม ...
122 java  junit  mockito 

2
Boolean.hashCode ()
hashCode()วิธีการของการเรียนแบบบูลจะดำเนินการเช่นนี้ public int hashCode() { return value ? 1231 : 1237; } ทำไมถึงใช้ 1231 และ 1237? ทำไมไม่เป็นอย่างอื่น?
122 java  boolean  hashcode 

28
ทำไมแดงจัง ดูเหมือนว่า IntelliJ จะคิดว่าทุกคำประกาศ / วิธีการไม่สามารถหา / แก้ไขได้
ฉันเพิ่งติดตั้งและติดตั้ง IntelliJ ใหม่ ไฟล์ Java ทุกไฟล์ขึ้นมาเป็น RED ฉันตรวจสอบ JDK; อยู่ที่ 1.6. ##. maven clean installสร้างทำงานได้ดี ฉันได้รับข้อผิดพลาดที่ไฮไลต์ตามปกติ ในทุกการประกาศ: ไม่สามารถแก้ไขสัญลักษณ์ SomeEntityBean / Bean และทุกวิธี: ไม่สามารถแก้ไขวิธีการ SomeFunction () ฉันจะแก้ไขข้อผิดพลาดที่ผิดพลาดเหล่านี้ได้อย่างไร

10
Java ByteBuffer เป็น String
นี่เป็นแนวทางที่ถูกต้องในการแปลง ByteBuffer เป็น String ด้วยวิธีนี้หรือไม่ String k = "abcd"; ByteBuffer b = ByteBuffer.wrap(k.getBytes()); String v = new String(b.array()); if(k.equals(v)) System.out.println("it worked"); else System.out.println("did not work"); เหตุผลที่ฉันถามคือมันดูง่ายเกินไปในขณะที่วิธีอื่น ๆ เช่นJava: การแปลงสตริงเป็นและจาก ByteBuffer และปัญหาที่เกี่ยวข้องดูซับซ้อนกว่า

3
ดึงองค์ประกอบแรกที่ตรงกับเกณฑ์
วิธีรับองค์ประกอบแรกที่ตรงกับเกณฑ์ในสตรีม ฉันได้ลองแล้ว แต่ไม่ได้ผล this.stops.stream().filter(Stop s-> s.getStation().getName().equals(name)); เกณฑ์นั้นไม่ทำงานวิธีการกรองจะถูกเรียกใช้ในคลาสอื่นที่ไม่ใช่ Stop public class Train { private final String name; private final SortedSet<Stop> stops; public Train(String name) { this.name = name; this.stops = new TreeSet<Stop>(); } public void addStop(Stop stop) { this.stops.add(stop); } public Stop getFirstStation() { return this.getStops().first(); } public Stop getLastStation() { …
122 java  java-8  java-stream 

11
วิธีแยกวิเคราะห์ JSON ใน Kotlin
ฉันได้รับสตริงออบเจ็กต์ JSON ที่ค่อนข้างลึกจากบริการซึ่งฉันต้องแยกวิเคราะห์ไปยังออบเจ็กต์ JSON จากนั้นแมปกับคลาส ฉันจะแปลงสตริง JSON เป็นวัตถุใน Kotlin ได้อย่างไร หลังจากนั้นการแมปไปยังชั้นเรียนที่เกี่ยวข้องฉันใช้ StdDeserializer จาก Jackson ปัญหาเกิดขึ้นในขณะที่อ็อบเจ็กต์มีคุณสมบัติที่ต้องถูก deserialized ลงในคลาสด้วย ฉันไม่สามารถรับตัวทำแผนที่วัตถุได้อย่างน้อยฉันก็ไม่รู้ว่าภายใน deserializer อื่นเป็นอย่างไร ขอบคุณล่วงหน้าสำหรับความช่วยเหลือ โดยพื้นฐานแล้วฉันกำลังพยายามลดจำนวนการอ้างอิงที่ฉันต้องการดังนั้นหากคำตอบมีไว้สำหรับการจัดการ JSON เท่านั้นและการแยกวิเคราะห์ก็เพียงพอแล้ว
122 java  json  kotlin 

15
การเชื่อมต่อ Java-MySql: ไม่อนุญาตให้เรียกค้นคีย์สาธารณะ
ฉันพยายามเชื่อมต่อฐานข้อมูล MySql กับ Java โดยใช้ตัวเชื่อมต่อ 8.0.11 ทุกอย่างดูเหมือนจะโอเค แต่ฉันมีข้อยกเว้นนี้: ข้อยกเว้นในเธรด "main" java.sql.SQLNonTransientConnectionException: ไม่อนุญาตให้เรียกค้นคีย์สาธารณะ กองติดตาม: Exception in thread "main" java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:108) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862) at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:444) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226) at com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:438) at com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:146) at com.mysql.cj.jdbc.MysqlDataSource.getConnection(MysqlDataSource.java:119) at ConnectionManager.getConnection(ConnectionManager.java:28) at Main.main(Main.java:8) เครื่องมือจัดการตัวเชื่อมต่อ: public …

2
ประเมินว่ารายการว่างเปล่า JSTL หรือไม่
ฉันพยายามประเมินว่ารายการอาร์เรย์นี้ว่างเปล่าหรือไม่ แต่ไม่มีการรวบรวม: <c:if test="${myObject.featuresList.size == 0 }"> <c:if test="${myObject.featuresList.length == 0 }"> <c:if test="${myObject.featuresList.size() == 0 }"> <c:if test="${myObject.featuresList.length() == 0 }"> <c:if test="${myObject.featuresList.empty}"> <c:if test="${myObject.featuresList.empty()}"> <c:if test="${myObject.featuresList.isEmpty}"> ฉันจะประเมินได้อย่างไรว่า ArrayList ว่างเปล่า
121 java  jsp  jstl 

11
เมื่อใดควรใช้การยืนยันและเมื่อใดที่ควรใช้ข้อยกเว้น
ส่วนใหญ่ฉันจะใช้ข้อยกเว้นในการตรวจสอบเงื่อนไขในรหัสของฉันฉันสงสัยว่าเวลาที่เหมาะสมในการใช้การยืนยันคืออะไร? ตัวอย่างเช่น Group group=null; try{ group = service().getGroup("abc"); }catch(Exception e){ //I dont log error because I know whenever error occur mean group not found } if(group !=null) { //do something } คุณช่วยระบุได้ไหมว่าการยืนยันเข้ากับที่นี่ได้อย่างไร? ฉันควรใช้คำยืนยันหรือไม่? ดูเหมือนว่าฉันไม่เคยใช้การยืนยันในรหัสการผลิตและดูเฉพาะการยืนยันในการทดสอบหน่วยเท่านั้น ฉันรู้ว่าในกรณีส่วนใหญ่ฉันสามารถใช้ข้อยกเว้นในการตรวจสอบเหมือนข้างต้นได้ แต่ฉันต้องการทราบวิธีที่เหมาะสมในการดำเนินการ "อย่างมืออาชีพ"

6
การปิดการเชื่อมต่อฐานข้อมูลใน Java
ฉันเริ่มสับสนเล็กน้อยฉันอ่านด้านล่างจากhttp://en.wikipedia.org/wiki/Java_Database_Connectivity Connection conn = DriverManager.getConnection( "jdbc:somejdbcvendor:other data needed by some jdbc vendor", "myLogin", "myPassword" ); Statement stmt = conn.createStatement(); try { stmt.executeUpdate( "INSERT INTO MyTable( name ) VALUES ( 'my name' ) " ); } finally { //It's important to close the statement when you are done with it stmt.close(); …

4
ความแตกต่างระหว่าง Class.this กับสิ่งนี้ใน Java คืออะไร
มีสองวิธีในการอ้างอิงอินสแตนซ์ของคลาสภายในคลาสนั้น ตัวอย่างเช่น: class Person { String name; public void setName(String name) { this.name = name; } public void setName2(String name) { Person.this.name = name; } } หนึ่งใช้this.nameอ้างอิงฟิลด์อ็อบเจ็กต์ แต่อีกอันใช้className.thisอ้างอิงฟิลด์อ็อบเจ็กต์ การอ้างอิงทั้งสองนี้แตกต่างกันอย่างไร
121 java  this 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.