কীভাবে String
অবজেক্টকে অবজেক্টে রূপান্তর করা যায় Boolean
?
কীভাবে String
অবজেক্টকে অবজেক্টে রূপান্তর করা যায় Boolean
?
উত্তর:
চেষ্টা করুন (আপনি কি ফলাফল ফলাফল টাইপ উপর নির্ভর করে):
Boolean boolean1 = Boolean.valueOf("true");
boolean boolean2 = Boolean.parseBoolean("true");
সুবিধা:
Boolean.TRUE
বা দুটি উদাহরণ পুনরায় ব্যবহার করে Boolean.FALSE
।সরকারী ডকুমেন্টেশন জাভাদোকে রয়েছে ।
আপডেট:
অটোবক্সিংও ব্যবহার করা যেতে পারে তবে এর পারফরম্যান্স ব্যয় রয়েছে।
আমি কেবল তখনই এটি ব্যবহার করার পরামর্শ দিই যখন আপনি নিজেকে কাস্ট করতে হয়, যখন কাস্টটি এড়ানো যায় না তখন।
boolean boolean2 = Boolean.valueOf("true");
বুলিয়ান.ভালিউঅফ (স্ট্রিং) বা বুলিয়ান.পার্সবুলিয়ান (স্ট্রিং) ব্যবহার করার সময় আপনাকে যত্নবান হতে হবে । এর কারণ হ'ল স্ট্রিংটি "সত্য" এর সমান না হলে পদ্ধতিগুলি সর্বদা মিথ্যা হয়ে যাবে (কেস উপেক্ষা করা হবে)।
উদাহরণ স্বরূপ:
Boolean.valueOf("YES") -> false
সেই আচরণের কারণে আমি বুলিয়ানতে যে স্ট্রিংটি অনুবাদ করা উচিত তা একটি নির্দিষ্ট বিন্যাস অনুসরণ করে তা নিশ্চিত করার জন্য কিছু ব্যবস্থা যুক্ত করার পরামর্শ দেব।
এই ক্ষেত্রে:
if (string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false")) {
Boolean.valueOf(string)
// do something
} else {
// throw some exception
}
কেএলই-এর দুর্দান্ত উত্তরের পাশাপাশি আমরা আরও কিছু নমনীয় করতে পারি:
boolean b = string.equalsIgnoreCase("true") || string.equalsIgnoreCase("t") ||
string.equalsIgnoreCase("yes") || string.equalsIgnoreCase("y") ||
string.equalsIgnoreCase("sure") || string.equalsIgnoreCase("aye") ||
string.equalsIgnoreCase("oui") || string.equalsIgnoreCase("vrai");
(জ্লাজোর উত্তর দ্বারা অনুপ্রাণিত ... :-))
ঠিক আছে, 2018 সালের জানুয়ারীর মতো, এপাচের ব্যবহারের জন্য এটির সেরা উপায় BooleanUtils.toBoolean
।
এটি স্ট্রিংয়ের মতো যেকোন বুলিয়ানকে বুলেয়ানে রূপান্তর করবে, যেমন ওয়াই, হ্যাঁ, সত্য, এন, না, মিথ্যা ইত্যাদি will
সত্যিই সহজ!
public static boolean stringToBool(String s) {
s = s.toLowerCase();
Set<String> trueSet = new HashSet<String>(Arrays.asList("1", "true", "yes"));
Set<String> falseSet = new HashSet<String>(Arrays.asList("0", "false", "no"));
if (trueSet.contains(s))
return true;
if (falseSet.contains(s))
return false;
throw new IllegalArgumentException(s + " is not a boolean.");
}
আমার স্ট্রিংটি বুলিয়ান রূপান্তর করার উপায়।
String[] values= new String[]{"y","Y","n","N","Yes","YES","yes","no","No","NO","true","false","True","False","TRUE","FALSE",null};
for(String booleanStr : values){
System.out.println("Str ="+ booleanStr +": boolean =" +BooleanUtils.toBoolean(booleanStr));
}
ফলাফল:
Str =N: boolean =false
Str =Yes: boolean =true
Str =YES: boolean =true
Str =yes: boolean =true
Str =no: boolean =false
Str =No: boolean =false
Str =NO: boolean =false
Str =true: boolean =true
Str =false: boolean =false
Str =True: boolean =true
Str =False: boolean =false
Str =TRUE: boolean =true
Str =FALSE: boolean =false
Str =null: boolean =false
এটি আমি এটি করেছিলাম:
"1##true".contains( string )
আমার ক্ষেত্রে বেশিরভাগই হয় 1 বা সত্য। আমি ডিভাইডার হিসাবে হ্যাশ ব্যবহার করি।
একটি স্ট্রিংয়ের বুলিয়ান মান পেতে, এটি ব্যবহার করে দেখুন:
public boolean toBoolean(String s) {
try {
return Boolean.parseBoolean(s); // Successfully converted String to boolean
} catch(Exception e) {
return null; // There was some error, so return null.
}
}
যদি কোনও ত্রুটি হয় তবে তা শূন্য হবে। উদাহরণ:
toBoolean("true"); // Returns true
toBoolean("tr.u;e"); // Returns null
parseBoolean(String s)
জাভাডোক অনুসারে একটি ব্যতিক্রম ছুঁড়ে না।
নিয়মিত ভাব প্রকাশ করবেন না কেন?
public static boolean toBoolean( String target )
{
if( target == null ) return false;
return target.matches( "(?i:^(1|true|yes|oui|vrai|y)$)" );
}
আমরা এই সমস্যাটি সহজ করার জন্য সয়ুজ-টু লাইব্রেরি তৈরি করেছি (এক্সকে Y তে রূপান্তর করুন)। এটি অনুরূপ প্রশ্নের জন্য কেবলমাত্র এসও উত্তরগুলির একটি সেট। এই জাতীয় সমস্যাটির জন্য লাইব্রেরিটি ব্যবহার করা অদ্ভুত হতে পারে, তবে এটি সত্যই অনেকগুলি অনুরূপ ক্ষেত্রে সহায়তা করে।
import io.thedocs.soyuz.to;
Boolean aBoolean = to.Boolean("true");
দয়া করে এটি পরীক্ষা করে দেখুন - এটি খুব সাধারণ এবং অন্যান্য অনেক দরকারী বৈশিষ্ট্য রয়েছে
পরিদর্শন http://msdn.microsoft.com/en-us/library/system.boolean.parse.aspx
এটি আপনাকে কী করবে তার একটি ধারণা দেবে।
এটি আমি জাভা ডকুমেন্টেশন থেকে পেয়েছি :
পদ্ধতি বিশদ
parseBoolean
public static boolean parseBoolean(String s)
স্ট্রিং আর্গুমেন্টকে বুলিয়ান হিসাবে পার্স করে। ফিরিয়ে দেওয়া বুলিয়ান মানটির সত্য উপস্থাপন করে যদি স্ট্রিং আর্গুমেন্টটি না থাকে
null
এবং সমান হয়, ক্ষেত্রে উপেক্ষা করে "true
।পরামিতি:
s
- বুলিয়ান উপস্থাপনাযুক্ত স্ট্রিংকে বিশ্লেষণ করতে হবেরিটার্নস: স্ট্রিং আর্গুমেন্টের দ্বারা প্রতিনিধিত্ব করা বুলিয়ান
যেহেতু: 1.5
আপনি সরাসরি সিস্টেম শ্রেণীর দ্বারা যে কোনও স্ট্রিংয়ের সমান বুলেয়ান মান সেট করতে এবং এটিকে যে কোনও জায়গায় অ্যাক্সেস করতে পারেন ..
System.setProperty("n","false");
System.setProperty("y","true");
System.setProperty("yes","true");
System.setProperty("no","false");
System.out.println(Boolean.getBoolean("n")); //false
System.out.println(Boolean.getBoolean("y")); //true
System.out.println(Boolean.getBoolean("no")); //false
System.out.println(Boolean.getBoolean("yes")); //true