tolong tanya

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

tolong tanya

toni koentjoro
Hi,
tolong tanya,
waktu aku clean and buildt project koq keluar pesan seperti ini artinya
apa ya ?

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

thanks


--
Linux User  : 456774
Ubuntu User : 18142
Ym : honocoroko


[Non-text portions of this message have been removed]

Reply | Threaded
Open this post in threaded view
|

Re: tolong tanya

Tonny Kohar
Hi,

On Mon, 2008-03-10 at 09:17 +0700, toni wrote:
> Hi,
> tolong tanya,
> waktu aku clean and buildt project koq keluar pesan seperti ini
> artinya
> apa ya ?
>
> Note: Some input files use or override a deprecated API.
> Note: Recompile with -Xlint:deprecation for details.

Karena anda memakai API yang sudah di depecrated. Compile spt yang
diatas (di tambah -Xlint:deprecation), maka anda akan menemukan line
mana yang menggunakan deprecated API tsb dan bisa anda ganti dengan API
yang lebih baru.

> Note: Some input files use unchecked or unsafe operations.
> Note: Recompile with -Xlint:unchecked for details.
>

Kemungkingan besar anda tidak menggunakan generic and mengcompile
menggunakan java 1.5 or higher. Same spt di atas, compile ulang
menggunakan -Xlint:unchecked, maka anda anda menemukan line mana yang
unsafe, kemudian ganti dengan yang safe (generic) bukan casting

Note: itu semua adalah warning bukan error. Jadi tidak melalukan apapun
program tetap jalan.

Cheers
Tonny Kohar
--
KIYUT
imagine, design, create ...
http://www.kiyut.com

Reply | Threaded
Open this post in threaded view
|

Re: tolong tanya

toni koentjoro

On Mon, 2008-03-10 at 09:44 +0700, Tonny Kohar wrote:

> Note: itu semua adalah warning bukan error. Jadi tidak melalukan
> apapun
> program tetap jalan.
>
> Cheers
> Tonny Kohar

ok, thanks Mas / Pak Tonny

rgds

--
Linux User  : 456774
Ubuntu User : 18142
Ym : honocoroko


[Non-text portions of this message have been removed]

Reply | Threaded
Open this post in threaded view
|

Re: tolong tanya

toni koentjoro
In reply to this post by Tonny Kohar

On Mon, 2008-03-10 at 09:44 +0700, Tonny Kohar wrote:

> Kemungkingan besar anda tidak menggunakan generic and mengcompile
> menggunakan java 1.5 or higher. Same spt di atas, compile ulang
> menggunakan -Xlint:unchecked, maka anda anda menemukan line mana yang
> unsafe, kemudian ganti dengan yang safe (generic) bukan casting
>
> Note: itu semua adalah warning bukan error. Jadi tidak melalukan
> apapun
> program tetap jalan.
>


terima kasih Mas Tonny dan Mas Syaiful atas penjelasan nya, tapi maaf
aku kurang mengerti dg apa yg ada jelaskan, sebenarnya masalah nya
seperti ini
1, aku mau ambil ini dari jPasswordfield dan aku tulis seperti ini
tpas.getText()   nah maslah nya disini Mas. terus ganti nya apa ya Mas ?

2 aku mau menampilkan data di jTable dengan perintah seperti ini


   
    public List getPrs() {
        ResultSet rs = null;
        List list = new ArrayList();
        try {
            rs = control.st.executeQuery("select
kode,nama,awal,masuk,keluar,adj,returm,returk,prosesm,prosesk,sisa  FROM
mstockstore order by nama");
            muncul(rs, list);
            rs.close();
        } catch(SQLException ex) {
            ex.printStackTrace();
        }
        return list;
    }
   
   
   
   
    private void muncul(ResultSet rs, List list) throws SQLException {
        while (rs.next()) {
            MisStockP p = new MisStockP();
            p.setKode(rs.getString(1));
            p.setNama(rs.getString(2));
            p.setAwal(rs.getDouble(3));
            p.setMasuk(rs.getDouble(4));
            p.setKeluar(rs.getDouble(5));
            p.setAdj(rs.getDouble(6));
            p.setReturm(rs.getDouble(7));
            p.setReturk(rs.getDouble(8));
            p.setProsesm(rs.getDouble(9));
            p.setProsesk(rs.getDouble(10));
            p.setSisa(rs.getDouble(11));
            list.add(p);
        }
}
   
   

nah di bagian list.add(p); ini yg di katakan unsafe, harus nya gimana
ini Mas ?

please advice

thanks








--
Linux User  : 456774
Ubuntu User : 18142
Ym : honocoroko


[Non-text portions of this message have been removed]

Reply | Threaded
Open this post in threaded view
|

Re: tolong tanya

Tonny Kohar
Hi,

On Mon, 2008-03-10 at 16:38 +0700, toni wrote:
> terima kasih Mas Tonny dan Mas Syaiful atas penjelasan nya, tapi maaf
> aku kurang mengerti dg apa yg ada jelaskan, sebenarnya masalah nya
> seperti ini
> 1, aku mau ambil ini dari jPasswordfield dan aku tulis seperti ini
> tpas.getText() nah maslah nya disini Mas. terus ganti nya apa ya Mas ?

Coba di liat di javadoc API dokumentasi, ya ini pentingnya untuk
melihat / merefer ke dokumentasi. Javadoc API documentasi tidak dibuat
untuk sekedar menambah2 besarnya java yang harus di download :)

Ini adalah text dari javadoc

"Deprecated. As of Java 2 platform v1.2, replaced by getPassword.
       
Returns the text contained in this TextComponent. If the underlying
document is null, will give a NullPointerException.
       
For security reasons, this method is deprecated. Use the * getPassword
method instead.
"

Nah dari sini jelas, getText() di replace dengan getPassword()
       

> 2 aku mau menampilkan data di jTable dengan perintah seperti ini
>
> public List getPrs() {
> ResultSet rs = null;
> List list = new ArrayList();
> try {
> rs = control.st.executeQuery("select
> kode,nama,awal,masuk,keluar,adj,returm,returk,prosesm,prosesk,sisa
> FROM
> mstockstore order by nama");
> muncul(rs, list);
> rs.close();
> } catch(SQLException ex) {
> ex.printStackTrace();
> }
> return list;
> }
> ...

> nah di bagian list.add(p); ini yg di katakan unsafe, harus nya gimana
> ini Mas ?
>

Coba codenya di ubah menjadi begini (pada waktu membuat list, bukan pada
waktu add to list):

List<MisStockP> list = new ArrayList<MisStockP>();

Kenapa code anda sebelumnya di katakan unsafe ? Karena coba bayangkan
jika anda mencoding secara tidak sengaja (mengantuk, tergesa2, dll) sbg
berikut

list.add(rs.getString(1)); // tidak compile time error
yang mana seharusnya adalah
list.add(p);

Code yang salah diatas tidak akan menimbulkan compile time error, tapi
bakalan runtime error, karena list tersebut tidak di maksudkan untuk
string (rs.getString), tapi untuk class/data structure misStock. Dan
anda bakal pusing untuk mendebugnya (tidak ada error, tapi kok error).

Nah dengan adanya feature generic (sejak java 1.5) hal2 itu bisa di buat
compile time error (safe operation) dengan mengatakan bahwa list tsb
hanya bisa menerima MisStock, object2 lain tidak boleh dengan coding sbg
berikut
List<MisStock> list = new ArrayList<MisStock>(); dan pada waktu mau
mengambil isi dari list tsb juga tidak di perlukan casting lagi

for (int i=0; i < list.size(); i++) {
        // unsafe code, pakai casting
        MisStock ms = (MisStock)list.get(i);
        // safe code, tidak perlu casting, karena isinya pasti MisStock
        MistStock ms1 = list.get(1);
}

Fungsi dan feature generic banyak sekali, yang saya jelaskan di atas itu
(safe operation) hanya sebagian dari keuntungan dari generic. Untuk
lebih detail bisa google "java generic"

Di javadoc, juga ada dokumentasi mengenai generic yang bisa di baca2
juga.

He he he, kelihatanya banyak orang tidak suka membaca javadoc API ya :)
Mungkin perlu usul sama Sun, supaya javadoc dibuat lebih menarik, biar
orang2 pada tertarik untuk membacanya.

Cheers
Tonny Kohar
--
KIYUT
imagine, design, create ...
http://www.kiyut.com