當前位置:首頁 » 編程語言 » java類型比較

java類型比較

發布時間: 2022-11-26 19:20:04

⑴ 在java中怎麼比較Double類型數據的大小

你如果是要普通比較直接用數學符號即可,指的在其jvm允許的范圍內如果,你是要很准確的精度比較運算,由於精度問題,可能會有誤差,建議使用BigDecimal類型!

//普通比較
Doubleobj1=newDouble("0.001");
Doubleobj2=newDouble("0.0011");
obj1.compareTo(obj2);

//精度准確比較
doublea=obj1;
doubleb=obj2;
BigDecimaldata1=newBigDecimal(a);
BigDecimaldata2=newBigDecimal(b);
data1.compareTo(data2);

//該方法兩種類都有
publicintcompareTo(BigDecimalval)
/*將此BigDecimal與指定的BigDecimal比較。根據此方法,值相等但具有不同標度的兩個BigDecimal對象(如,2.0和2.00)被認為是相等的。相對六個boolean比較運算符(<,==,>,>=,!=,<=)中每一個運算符的各個方法,優先提供此方法。
*參數:val-將此BigDecimal與之比較的BigDecimal。
*返回:當此BigDecimal在數字上小於、等於或大於val時,返回-1、0或1。
*/

⑵ Java中如何比較兩種數據類型為同一種類型

public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String) anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }

這是String中equals的實現,b1是Boolean類型的,不是instanceof String,所以返回了false,然後就沒有輸出了。

⑶ 在Java中,如何比較兩種數據類型是否屬於同一種數據類型

對於兩個
引用類型
對象obj1和obj2,判斷它們的運行時類是否相同:
obj1.getClass() == obj2.getClass()對於一個基本類型對象
pt1
以及一個引用類型對象obj2,它們的類型必然不同,無需判斷。
對於兩個基本類型對象pt1以及
pt2
,它們的定義必然已經出現在方法定義中或是類定義的代碼中,同樣無需判斷。

⑷ java中char類型是怎麼進行比較的

char類型時,當是單個字元時時是可以用「==」比較的,但是當為字元串時則不可以,應用比較函數strcmp進行比較,strcmp函數在頭文件"string.h"中,所以要用這個函數時前面還要包含這個頭文件。

⑸ 在java的程序里date類型怎麼比較大小呀

有兩個方法:

方法一:

兩個Date類型的變數可以通過compareTo方法來比較。此方法的描述是這樣的:如果參數 Date 等於此 Date,則返回值 0;如果此 Date 在 Date 參數之前,則返回小於 0 的值;如果此 Date 在 Date 參數之後,則返回大於 0 的值。

(5)java類型比較擴展閱讀:

Date類可以在java.util包中找到,用一個long類型的值表示一個指定的時刻。它的一個有用的構造函數是Date(),它創建一個表示創建時刻的對象。

getTime()方法返回Date對象的long值。在下面的程序中,我使用Date()構造函數創建一個表示程序運行時刻的對象,並且利用getTime()方法找到這個日期代表的毫秒數量:

import java.util.*;

public class Now {

public static void main(String[] args) {

Date now = new Date();

long nowLong = now.getTime();

System.out.println("Value is " + nowLong);

}

}

⑹ java中date類型怎麼比較大小

date 實現了Comparable 介面 調用compareTo(Date date)方法可以比較大小。

例如:比較date1 和 date2的大小

int res = date1.compareTo(date2),相等則返回0,date1大返回1,否則返回-1。

⑺ java中如何比較abc和ab

一種是基本數據類型的比較(8種基本數據類型int ,char,byte....... )就是直接比較的內容
第二種就是引用數據類型的比較
像String類型就是引用數據類型
在這種情況下「==」比較是棧中的物理地址(物理地址就想每個人家的門牌號碼一樣是唯一的)
二你要比較字元串的內容就要用equals();
用法是 String a;和String b; 比較a.equals(b);

⑻ java String類型比較

string類型比較有很多種,我們主要來講一下用的比較多的兩種(equals和==)
例如:
String s1,s2,s3 = "abc", s4 ="abc" ;
s1 = new String("abc");
s2 = new String("abc");
那麼:
s1==s2 是 false //兩個變數的內存地址不一樣,也就是說它們指向的對象不 一樣,故不相等。
s1.equals(s2) 是 true //兩個變數的所包含的內容是abc,故相等。
總結:"=="比較的是兩個變數的內存地址,equals比較的是內容;
左上角有我頭像,歡迎來學習交流;

⑼ java中有哪些類

如下:

String 字元串類

System 可得到系統信息

StringBuilder 字元串工具類

Thread 線程類

Math 與數學有關的工具類

ArrayList 底層用數組實現的集合

LinkedList 底層用鏈表實現的集合

HashMap 介面Map的一個實現類

HashSet 介面Set的一個實現類

Scanner 簡單文本掃描器

Calendar 日期類

Date 日期類

File 目錄或文件操作類

FileInputStream 輸入流

FileOutputStream 輸出流

BufferedInputStream 具有緩沖的輸入流

BufferedOutputStream 具有緩沖的輸出流

BufferedReader 從字元輸入流中讀取文本,緩沖各個字元

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。

⑽ 如何在java裡面對Object的類型值進行一個大小的比較

作者:Tao Li
鏈接:https://www.hu.com/question/36897771/answer/69763955
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

java中類的比較一般有兩種方法,一種就是類本身實現Comparable<T>這個介面,比如通過對用戶的姓名進行比較排序:

package com.ailot.compare;

public class User implements Comparable<User> {

private String name;
private int age;
private String sex;

public User(String name,int age,String sex){
this.name = name;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}

@Override
public String toString() {
return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}

@Override
public int compareTo(User u) {
// TODO Auto-generated method stub
int c = this.name.compareTo(u.name);
if(c==0){
return 0;
}else if(c > 0){
return 1;
}else{
return -1;
}
}
}

Test.java

package com.ailot.compare;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class Test {

public static void main(String[] args) {
List<User> userList = new ArrayList<User>();
for(int i=0;i<10;i++){
int s = new Random().nextInt(20);
User u = new User(s+"張三",i,"男");
userList.add(u);
}
Collections.sort(userList);
for(User user : userList){
System.out.println(user.toString());
}
}

}

排序的話直接用 Collections.sort( userList ) ;就可以了。
作者:Tao Li
鏈接:https://www.hu.com/question/36897771/answer/69763955
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

另一種就是類沒有實現Comparable<T>這個介面,這就需要自己新建一個比較的類,通過實現Comparator<T>來對類進行比較,還是對User類的姓名進行比較排序:

User.java

package com.ailot.compare;

public class User {

private String name;
private int age;
private String sex;

public User(String name,int age,String sex){
this.name = name;
this.age = age;
this.sex = sex;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}

@Override
public String toString() {
return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
}

UserCompare.java

package com.ailot.compare;

import java.util.Comparator;

public class UserCompare implements Comparator<User> {

@Override
public int compare(User u1, User u2) {
// TODO Auto-generated method stub
int c = u1.getName().compareTo(u2.getName());
if(c == 0){
return 0;
}else if(c < 0){
return -1;
}else{
return 1;
}
}

}

Test.java

package com.ailot.compare;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class Test {

public static void main(String[] args) {
List<User> userList = new ArrayList<User>();
for(int i=0;i<10;i++){
int s = new Random().nextInt(20);
User u = new User(s+"張三",i,"男");
userList.add(u);
}
Collections.sort(userList,new UserCompare());
for(User user : userList){
System.out.println(user.toString());
}
}

}

排序的話直接用 Collections.sort(userList,new UserCompare());就可以了。

熱點內容
c語言中a10什麼意思 發布:2024-04-27 10:45:43 瀏覽:57
物聯網中ftp是什麼意思 發布:2024-04-27 10:41:17 瀏覽:985
銀行密碼保護在哪裡 發布:2024-04-27 10:25:23 瀏覽:188
tomcat源碼導入eclipse 發布:2024-04-27 10:25:15 瀏覽:193
android的api 發布:2024-04-27 10:23:39 瀏覽:682
官式訪問 發布:2024-04-27 10:04:00 瀏覽:521
國產高配置有哪些 發布:2024-04-27 09:18:26 瀏覽:947
建行手機app忘記密碼如何修改 發布:2024-04-27 08:58:59 瀏覽:393
蟻群演算法的數學模型 發布:2024-04-27 08:58:39 瀏覽:994
androidactivity生命 發布:2024-04-27 07:33:48 瀏覽:84