• 26-05-2014, 22:22:26
    #1
    Java ile yazıyorum.

    Bir metodum var. private URL verifyUrl(String url) throws IOException { }

    bu metod içinde başka bi yere göndermek üzere string array i de return etmem gerekiyor. Ama sonuç olarak URL return edeceğim. Yani URL yi string arrayine çeviremem. Else girerse string arrayi return etmeli if' te kalırsa URL return etmeli.

    Bu tip sorunu nasıl çözebilirim?
  • 26-05-2014, 23:55:16
    #2
    generic'e bakacaksın o zaman

    http://docs.oracle.com/javase/tutori...ics/types.html
  • 27-05-2014, 08:51:54
    #3
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler fakat onu tam oturtamadım. Peki bir fonksiyon diyelim
    public String a (String b)
    Bunun icinde işlemler yapılıyor. Bir başka yerden a() diyerek yani parametre göndermeyerek sadece fonksiyondan çıkan sonucu almam mümkün müdür?
  • 27-05-2014, 10:59:24
    #4
    o bahsettiğin olay çok farklı hocam.. yani iki şeyi birbirine karıştırıyorsun..

    ilk söylediğin tipin ne olduğunun önemsiz olduğu durumlarda generic metod ya da sınıflar kullanılır..

    son söylediğin şey ise metod override etme..

    mesela

    String a (String b)
    {
    return b;
    }


    String a()
    {
    return "hobaa";
    }


    String a(int xx)
    {
    return xx.toString();
    }


    int a(int xx)
    {
    return xx;
    }


    bu 3 metodu da çağırabilirsin istediğin gibi.. sırayla

    a("test");
    a();
    a(4);
    a(5);
    ilkinden dönen değer test olur, ikincisnden dönen değer hobaa olur, üçüncüsünden dönen değeer dört olur (int değil string türünden)
    dördüncüsünden dönen değer de int türünden 5 olur..

    dikkat edersen a fonksiyonunu bir sürü şekilde çağırdım. buna metor overriding denir
  • 28-05-2014, 00:28:29
    #5
    @ertan2002;

    JPanel addPanel = new JPanel();
            addTextField = new JTextField(50);
            addPanel.add(addTextField);
            JButton addButton = new JButton("Add Download");
            addButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    try {
    					actionAdd(addTextField.getText());
    					
    					
    				} catch (IOException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    				}
                }
            });
            addPanel.add(addButton);
            String labels[] = Links("http://www.enbabaoyunlar.com/");
            JPanel addList = new JPanel();
            
            JFrame frame = new JFrame("Selecting JList");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JList jlist = new JList(labels);
            JScrollPane scrollPane1 = new JScrollPane(jlist);
    
            MouseListener mouseListener = new MouseAdapter() {
              public void mouseClicked(MouseEvent mouseEvent) {
                JList theList = (JList) mouseEvent.getSource();
                if (mouseEvent.getClickCount() == 2) {
                  int index = theList.locationToIndex(mouseEvent.getPoint());
                  if (index >= 0) {
                    Object o = theList.getModel().getElementAt(index);
                    try {
    					actionAdd(o.toString());
    				} catch (IOException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
                  }
                }
              }
            };
            jlist.addMouseListener(mouseListener);
            addList.add(jlist);

    private String[] Links(String url) throws IOException
        {
    }
    Benim yapmak istediğim String labels[] = Links("http://www.enbabaoyunlar.com/"); buradaki Links fonksiyonuna gönderdiğim değerin butona tıklanıldığında addTextField textboxındaki değeri alsın istiyorum. Ama programı ilk çalıştırdığımda Links("") bu şekilde gönderdiğimde Links fonksiyonunda patlıyor. Bu şekilde elimle site adı yazdığımda program gayet güzel çalışıyor. Oraya textboxtaki değeri atamadım malesef.


    Problemi düzelttim hocam tamam @ertan2002;