[ caca @ 13.12.2012. 12:06 ] @
Vec danima istrazujem kako da password unet preko JPasswordField uporedim sa passwordom upisanim u tabeli.
Ako je neko raspolozen da mi pomogne da ovo resim.
Napisala sam pojasnjenje u 3 koraka .

1.Formirala sam tabelu LOGIN sa poljima:
loginId int
loginPass String

2.Napravila sam formu za prvi unos usename i passworda.
...
pass = new JPasswordField; napravila sam polje za pasword kao
char [] password = pass.getPassword();
String jPass = password.toString();
.....

i jpass upisem u polje tabele loginPass.
Upisan sadrzaj u loginPass je skup simbola ,brojeva i slova (na primer [@1194a4c)

3.Korisnik na posebnoj formi upisuje svoj ID i PASSWORD(JPasswordField)
te parametre koristim za sql upit
...
String strQuery = "SELECT * FROM login WHERE loginId = ? AND loginPas = ?";
st = con.preprareStatement(strQuery);
st.setInt(1,id);
st.setstring(1,password); ????????

rs = st.executeQuery();
String str="";
if(rs.next())
{ prosao}
else
{ nije prosao}
......
Ovo ne radi.
Password u tabeli je isti kao onaj koji se unosi kroz formu
Kada pogledam sadrzaje passworda u tabeli i onog koji se unosi oni nisu isti a unet je isti karakter.
Kako da razmisljam ?
Kako da uporedim password koji je upisan u tabelu sa passwordom koji se unosi (pretpostavka je da se u oba slucaja unose isti karakteri)
[ djoka_l @ 13.12.2012. 12:10 ] @
Zar ne treba:
st.setstring(2,password);

Osim ovoga, nije dobro držati u bazi podataka lozinku. Umesto teksta lozinke treba čuvati hash lozinke (u stvari hash kombinacije salt-a i lozinke).
[ caca @ 13.12.2012. 12:14 ] @
da moja greska u pri kucanju ovde, a u programu sam ispravno napisala
[ djoka_l @ 13.12.2012. 12:21 ] @
Citat:
Kada pogledam sadrzaje passworda u tabeli i onog koji se unosi oni nisu isti a unet je isti karakter.


Onda ti je ovo problem. Očigledno nije isti karakter. Možda je u bazi upisano, na primer slovo đ u 1250 kodnoj stranici, a na formi se unosi slovo đ u UTF-8 formatu (dva bajta).
[ caca @ 13.12.2012. 12:26 ] @
U pravu si.
Videla sam i takve primere.
Ja sam uradila obicnu aplikaciju a ne web aplikaciju pa sam htela da iskoristim JPasswordField
Potrebeno mi je da kada korisnik ulazi u aplikaciju unese svoj ID i svoj Pass i ja da uporedim to sto je uneo sa onim sto je u tabeli login.

[ caca @ 13.12.2012. 12:28 ] @
U obe forme sam koristila za password JPasswordField
pa sam pretpostavila da ce biti isto ali nije !!
[ FooLControL @ 13.12.2012. 16:09 ] @
Citat:
caca:
Kada pogledam sadrzaje passworda u tabeli i onog koji se unosi oni nisu isti a unet je isti karakter.


Na osnovu ovoga mi zvuci kao da nesto nije uredu sa login formom, ako ona uvek salje pogresan string. Stavi obicno polje, i ispisi na konzolu sadrzaj tog polja posle ucitavanja i vidi da li je isto kao ono u bazi. Mogla bi okaciti i kod od login forme.
[ caca @ 13.12.2012. 17:07 ] @
UnosLogin3 je forma gde unosim id i password
kad god unesem isti karakter za password dobijem drugi kod a to vidim

preko JOptionPane.showMessageDialog(null, encodedString);

sledi kod

Code:

package ini.unos;

import ini.bean.LoginBean;
import ini.DB.LoginDB;
import javax.swing.JOptionPane;

public class UnosLogin3 extends javax.swing.JFrame {

    public UnosLogin3() {
        initComponents();
    }
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        lId = new javax.swing.JLabel();
        txtId = new javax.swing.JTextField();
        lIdMbr = new javax.swing.JLabel();
        jPass = new javax.swing.JPasswordField();
        jPanel2 = new javax.swing.JPanel();
        poruka = new javax.swing.JLabel();
        bUpisi = new javax.swing.JButton();
        bObrisi = new javax.swing.JButton();
        bIzlaz = new javax.swing.JButton();
        bPrazni = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("SPsoFt");
        setResizable(false);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowOpened(java.awt.event.WindowEvent evt) {
                formWindowOpened(evt);
            }
        });

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(new javax.swing.border.LineBorder(new java.awt.Color(153, 153, 255), 1, true), "Prvi login", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial", 1, 12), new java.awt.Color(0, 0, 255))); // NOI18N
        jPanel1.setForeground(new java.awt.Color(0, 0, 255));

        lId.setFont(new java.awt.Font("Arial", 0, 11));
        lId.setForeground(new java.awt.Color(0, 0, 255));
        lId.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        lId.setText("ID*");

        txtId.setForeground(new java.awt.Color(0, 0, 102));
        txtId.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                txtIdKeyPressed(evt);
            }
        });

        lIdMbr.setFont(new java.awt.Font("Arial", 0, 11));
        lIdMbr.setForeground(new java.awt.Color(0, 0, 255));
        lIdMbr.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
        lIdMbr.setText("Password*");

        jPass.setMaximumSize(new java.awt.Dimension(6, 20));

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(lId, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lIdMbr, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(txtId, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jPass, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(489, 489, 489))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lId))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lIdMbr, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(64, Short.MAX_VALUE))
        );

        poruka.setFont(new java.awt.Font("Arial", 1, 12));
        poruka.setForeground(new java.awt.Color(0, 102, 51));
        poruka.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));

        bUpisi.setForeground(new java.awt.Color(0, 0, 255));
        bUpisi.setText("Upiši");
        bUpisi.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                bUpisiMousePressed(evt);
            }
        });
        bUpisi.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                bUpisiKeyPressed(evt);
            }
        });

        bObrisi.setForeground(new java.awt.Color(0, 0, 255));
        bObrisi.setText("Obriši");
        bObrisi.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                bObrisiMousePressed(evt);
            }
        });

        bIzlaz.setForeground(new java.awt.Color(0, 0, 255));
        bIzlaz.setText("Izlaz");
        bIzlaz.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                bIzlazMousePressed(evt);
            }
        });

        bPrazni.setForeground(new java.awt.Color(0, 0, 255));
        bPrazni.setText("Prazni polja");
        bPrazni.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                bPrazniMousePressed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(poruka, javax.swing.GroupLayout.DEFAULT_SIZE, 322, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                        .addComponent(bPrazni)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bUpisi)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(bObrisi)
                        .addGap(18, 18, 18)
                        .addComponent(bIzlaz, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap())))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(bIzlaz)
                    .addComponent(bObrisi)
                    .addComponent(bUpisi)
                    .addComponent(bPrazni))
                .addGap(18, 18, 18)
                .addComponent(poruka, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 332, Short.MAX_VALUE))
                .addContainerGap(21, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        pack();
        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        java.awt.Dimension dialogSize = getSize();
        setLocation((screenSize.width-dialogSize.width)/2,(screenSize.height-dialogSize.height)/2);
    }// </editor-fold>

private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
    txtId.requestFocus();
}                                 

private void bIzlazMousePressed(java.awt.event.MouseEvent evt) {                                    
    dispose();
}                                   

private void txtIdKeyPressed(java.awt.event.KeyEvent evt) {                                 
    poruka.setText("");
    String sifra = txtId.getText().trim();
    char[] slova = sifra.toCharArray();

    int keyCode = evt.getKeyCode();

//ESCAPE  IZLAZ -----------------------------------------------------------------
    if (keyCode == java.awt.event.KeyEvent.VK_ESCAPE) {
        dispose();
    } //ENTER-----------------------------------------------------------------//  |
    else if (keyCode == java.awt.event.KeyEvent.VK_ENTER) {
//da polje za Id ne bude prazno----------------------------------
        if (sifra.length() != 0) {
//--------------------------------------------------------------
            try {
                id = Integer.parseInt(sifra);
                LoginBean loginBean = LoginDB.getLoginBean(id);
/*              
                String kodPas = loginBean.getLoginPas();
                //JOptionPane.showMessageDialog(null, kodPas);

  */              
            } catch (Exception e) {
                poruka.setText(e.getMessage());
            }
            jPass.requestFocus();
        } else 
        {
            txtId.requestFocus();
        }

    }    
}                                

private void bUpisiMousePressed(java.awt.event.MouseEvent evt) {                                    
    update();
    prazniPolja();
    txtId.requestFocus();
}                                   

private void bObrisiMousePressed(java.awt.event.MouseEvent evt) {                                     
    String sifra1 = txtId.getText().trim();

    int selection = JOptionPane.showConfirmDialog(null, "         BRIŠETE  ?", "Poruka",
            JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
    if (selection == JOptionPane.YES_OPTION) {
        if (sifra1.length() == 0) {
            JOptionPane.showMessageDialog(null, "Unesite ID  !!!", "Poruka", JOptionPane.INFORMATION_MESSAGE);
            txtId.requestFocus();
        }
        brisi();
        prazniPolja();
        txtId.requestFocus();
    }
}                                    

private void bPrazniMousePressed(java.awt.event.MouseEvent evt) {                                     
    prazniPolja();
    txtId.requestFocus();
}                                    

private void bUpisiKeyPressed(java.awt.event.KeyEvent evt) {                                  
 int keyCode = evt.getKeyCode();
    if (keyCode == java.awt.event.KeyEvent.VK_ENTER) {
        update();
        prazniPolja();
        txtId.requestFocus();
    }
}                                 


    private void update() {

        if (txtId.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Dodelite ID broj !!!", "Greška", JOptionPane.ERROR_MESSAGE);
            txtId.requestFocus();
            return;
        }
       /* if (jPass.getText().equals("") ) {
            JOptionPane.showMessageDialog(null, "Popunite polje password !!!", "Greška", JOptionPane.ERROR_MESSAGE);
            jPass.requestFocus();
            return;
        }*/
        
        try {
            LoginBean loginBean = new LoginBean();
            
            loginBean.setLoginId(Integer.parseInt(txtId.getText().trim()));
 [red]     
            char[] password = jPass.getPassword();
            String encodedString = password.toString();
     JOptionPane.showMessageDialog(null, encodedString);  //uvek razliciti kod???
[/red]
            loginBean.setLoginPas(encodedString);
//---------------------            
            LoginDB.updateLoginBean(loginBean);
            poruka.setText("Slog je uspešno AŽURIRAN !!!");
            txtId.requestFocus();

        } catch (Exception e) {
            poruka.setText(e.getMessage());
        }

    }

    private void brisi() {
        try {
            String sifra = txtId.getText().trim();
            Integer iid = Integer.parseInt(sifra);

            LoginBean loginBean = new LoginBean();
            loginBean.setLoginId(iid);
            LoginDB.brisiLoginBean(iid);

//---------------------------------------------------------------------
            poruka.setText("Slog je uspešno OBRISAN !!!");
            txtId.requestFocus();
        } catch (Exception e) {
            poruka.setText(e.getMessage());
        }
    }

    
    private void prazniPolja() {
        txtId.setText("");
        jPass.setText("");
     
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/jav.../uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Windows".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(UnosLogin3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(UnosLogin3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(UnosLogin3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(UnosLogin3.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new UnosLogin3().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JButton bIzlaz;
    private javax.swing.JButton bObrisi;
    private javax.swing.JButton bPrazni;
    private javax.swing.JButton bUpisi;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPasswordField jPass;
    private javax.swing.JLabel lId;
    private javax.swing.JLabel lIdMbr;
    private javax.swing.JLabel poruka;
    private javax.swing.JTextField txtId;
    // End of variables declaration
    private Integer id;
    
}


Code:


package ini.DB;

import Exceptions.DatabaseException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//import javax.swing.JOptionPane;
import ini.bean.LoginBean;

 public  class LoginDB {  //abstract
       public LoginDB()
        {   }
//------------------------------------------------------------------------
    public static void updateLoginBean(LoginBean bean)    throws Exception{
        PreparedStatement st = null;
        ResultSet rs;
        Connection con = maticniO.DB.DBveza.getConnection();
        try{
                        st = con.prepareStatement("select loginId from login "+
                                          " where LoginId = ?");
            st.setInt(1, bean.getLoginId());
                          rs = st.executeQuery();
            if(! rs.next()){
                            st = con.prepareStatement("INSERT INTO login values"
                                    + "(?,?)");
                            st.setInt(1, bean.getLoginId());
                            st.setString(2, bean.getLoginPas());

                            st.executeUpdate();
                            return;
            }else{
                            st = con.prepareStatement("update login " +
                                    "set loginPas = ? "+
                                 
                                    "where loginId = ?");
                            st.setString(1, bean.getLoginPas());
                            st.setInt(2, bean.getLoginId());
                            
                if(st.executeUpdate() == 0)
                            throw new DatabaseException("Podaci nisu AŽURIRANI !!!!!");
                        }
                        
                        
        }catch(SQLException sqle){
                    String sqlMessage = sqle.getMessage();
                    String sqlState   = sqle.getSQLState();
                    int vendorCode    = sqle.getErrorCode();
                    System.err.println("Izuzetak:");
                    System.err.println("Poruka: "+ sqlMessage);
                    System.err.println("SQL stanje: "+ sqlState);
                    System.err.println("proizvodjac koda: "+ vendorCode);
        }finally{
            try{
                con.close();
            }catch (Exception e) {
                //konekcija nije uspesno zatvorena
                         System.err.println(e);
            }
        }
    }
//------------------------------------------------------------------------
 public static LoginBean brisiLoginBean(int id)    throws Exception
        {
        Connection con = null;
        PreparedStatement st = null;
                LoginBean bean = new LoginBean();
        bean.setLoginId(id);
        try{
            con = maticniO.DB.DBveza.getConnection();
            st = con.prepareStatement("DELETE  "+
                    "FROM login "+
                    "WHERE loginId = ?"); //iz definice polja
            st.setInt(1, id);
            st.executeUpdate();

            return bean;

        }catch(SQLException e){
                        throw new  SQLException(e.getMessage());
        }finally{
            try{
                con.close();
            }catch (Exception e2) {
                //konekcija nije uspesno zatvorena
            throw new Exception(e2.getMessage());
                        }
        }
}

    public static LoginBean getLoginBean(int id) throws Exception{
        Connection con = null;
        PreparedStatement st = null;
        ResultSet rs = null;
                LoginBean bean = new LoginBean();
        bean.setLoginId(id);
        
                try{
            con = maticniO.DB.DBveza.getConnection();
            st = con.prepareStatement("select * "+
                    "from login "+
                    "where loginId = ?");
                       
                        st.setInt(1, id);
                        rs = st.executeQuery();
                        
            if(rs.next()){
                                bean.setLoginPas(rs.getString("loginPas")); //nazivi kolona
            }
                        return bean;
            
        }catch(SQLException e){
                        throw new  SQLException(e.getMessage());
        }finally{
            try{
                con.close();
            }catch (Exception e) {
                            System.err.println(e);
            }
        }

    }
 }

[ FooLControL @ 13.12.2012. 20:33 ] @
Ovako konvertuj iz char[] u String u 286 liniji.

Code:
char[] password = jPass.getPassword();
String encodedString = new String(password);


Problem je u tome sto char kao primitivni tip "nasledjuje" Object cija metoda toString() nije redefinisana, i vraca tekstualnu reprezentaciju tog objekta, u sustini vraca ovo, a to si ti stalno dobijala:

Code:
getClass().getName() + '@' + Integer.toHexString(hashCode())


Pozdrav.






[ caca @ 14.12.2012. 10:35 ] @
HVALA na rešenju i obrazloženju !!!

Pozdrav
[ FooLControL @ 14.12.2012. 11:56 ] @
Nema na cemu, drago mi je da sam pomogao.