Item是一個抽象類,它由Material和Product類實現。如何在Java/MySQL中查詢繼承的類類型?
分配實體有一個屬性「item」,它是一個Item類型。如何檢查「商品」是否爲產品類型?現在我正在使用它,但它似乎並不是最佳的。
"SELECT d FROM " + Distribution.class.getName() + " d, " + Product.class.getName() + " p WHERE d.item = p"
Item是一個抽象類,它由Material和Product類實現。如何在Java/MySQL中查詢繼承的類類型?
分配實體有一個屬性「item」,它是一個Item類型。如何檢查「商品」是否爲產品類型?現在我正在使用它,但它似乎並不是最佳的。
"SELECT d FROM " + Distribution.class.getName() + " d, " + Product.class.getName() + " p WHERE d.item = p"
Product.class.getName()
將返回全限定類名。
但是,如果你有這樣的:
Item item1= new Product(); Then
item1.getClass().getSimpleName();
將返回產品爲字符串類型。
所以,你可以有:
if(item1.getClass().getSimpleName().equals("Product")) {
// Do something like
Product product = (Product)item1;
有了'instanceof',但如果你需要做到這一點你已經做別的事情是錯誤的。 – EJP 2014-10-19 08:50:29
您能否詳細說明一下? – octopish 2014-10-19 08:56:00