簡體   English   中英

為什么字符串無法正確打印?

[英]Why string is not printing correctly?

我在oracle中創建了一個用戶類型

create or replace type my_friend_list 
is
table of 
varchar2(100);

現在,我編寫了一個過程,該過程具有如下輸出參數:

  PROCEDURE friends_diff_prc
  (
   my_name IN VARCHAR2,
   friend_i   IN my_friend_list ,
   good_friend_o   OUT my_friend_list ,
   best_friend_o   OUT my_friend_list ,
   isSuccess         OUT NUMBER 
  );

我在SQLDeveloper上運行它,並且運行正常。

這給了我我最好的朋友和最好的朋友的清單。

但是當我通過擴展StoredProcedure JAVA類調用它時。

best_friend列表即將出現,但要打印的good_friend列表

Ljava.lang.Object;@24342434, 
Ljava.lang.Object;@243a243a,
Ljava.lang.Object;@24402440,
Ljava.lang.Object;@24462446

我的Java代碼獲取此輸出arraylist是這樣的:

List<String> goodfriends = Arrays.asList((String[]) results.get("good_friend_o");
List<String> bestfriends = Arrays.asList((String[]) results.get("best_friend_o");

為什么對好朋友沒有給出正確的結果?

提前致謝。

您得到的答案是字符串數組,然后存儲在列表字符串中。您不能將String []直接存儲到String中。

您可以發布用於獲取和打印的Java代碼嗎?

試試這個代碼。 這將打印字符串

System.out.println("Printing goodfriends");
for (Object object : goodfriends) {
    Object[] goodfriendsString = (Object[]) object;
    for (Object object2 : objLocationVO) {
    System.out.println(object2);            
     }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM