教程列表
- Guava Optional类详解-处理null值
- Guava Preconditions类-检查参数
- Guava Ordering类处理排序功能
- Guava Objects类详解
- Guava Range类-范围处理
- Guava Throwables类-异常处理
- Guava 集合处理-Multiset接口
- Guava集合处理- Bimap接口
- Guava集合工具类-Table接口映射处理
- Guava字符串连接-Joiner类
- Guava字符串分割处理-Spiltter类
- Guava CharMatcher类处理JAVA char类型值
- Guava ASCII字符转换 CaseFormat类
- Guava处理java byte类型工具类-Bytes类
- Guava 处理java short实用工具类-Shorts类
- Guava处理java int实用工具类-Ints类
- Guava Longs类-long的实用工具类
- Guava Floats类-float基本类型的实用工具类
- Guava Doubles类-double基本类型的实用工具类
- Guava Chars类-char类型的实用工具类
- Guava Booleans类-布尔型基本的实用工具类
- Guava IntMath类-提供整型的Math实用方法
- Guava LongMath类-long基础类型的Math实用方法
- Guava Multimap类-映射到多个值
- Guava cache缓存工具类
开源项目
知识点
相关文章
更多最近更新
更多Guava Chars类-char类型的实用工具类
2019-04-23 23:20|来源: 网路
Chars是基本char类型的实用工具类。
类声明
以下是com.google.common.primitives.Chars类的声明:
@GwtCompatible(emulated=true) public final class Chars extends Object
字段
S.N. | 字段及说明 |
---|---|
1 | static int BYTES 所需要的字节数来表示一个原始char值。 |
方法
S.N. | 方法及说明 |
---|---|
1 | static List<Character> asList(char... backingArray) 返回由指定数组支持的固定大小的列表,类似 Arrays.asList(Object[]). |
2 | static char checkedCast(long value) 返回char值等于value值,如果可能的话。 |
3 | static int compare(char a, char b) 比较两个指定的char值。 |
4 | static char[] concat(char[]... arrays) 每个数组提供组合成一个单一的数组,则返回值。 |
5 | static boolean contains(char[] array, char target) 返回true,如果target是否存在在任何地方数组元素。 |
6 | static char[] ensureCapacity(char[] array, int minLength, int padding) 返回一个包含相同的值数组的数组,但保证是一个规定的最小长度。 |
7 | static char fromByteArray(byte[] bytes) 返回char值,其大端表示被存储在第一个2字节的字节;相当于 ByteBuffer.wrap(bytes).getChar(). |
8 | static char fromBytes(byte b1, byte b2) 返回char值的字节表示是给定2个字节,在big-endian的顺序;相当于 Chars.fromByteArray(new byte[] {b1, b2}). |
9 | static int hashCode(char value) 返回哈希码的值;等于调用的结果 ((Character) value).hashCode(). |
10 | static int indexOf(char[] array, char target) 返回目标数组的首次出现的索引值。 |
11 | static int indexOf(char[] array, char[] target) 返回指定目标的第一个匹配的起始位置数组内,或-1,如果不存在。 |
12 | static String join(String separator, char... array) 返回包含由分离器分离所提供的char值字符串。 |
13 | static int lastIndexOf(char[] array, char target) 返回target 在数组中最后一个出现的索引值。 |
14 | static Comparator<char[]> lexicographicalComparator() 返回一个比较器,它比较两个字符数组字典顺序。 |
15 | static char max(char... array) 返回在数组中的最大值。 |
16 | static char min(char... array) 返回出现在数组最小值。 |
17 | static char saturatedCast(long value) 返回值char最近的值。 |
18 | static char[] toArray(Collection<Character> collection) 复制字符实例的集合到原始char值的新数组。 |
19 | static byte[] toByteArray(char value) 返回在2元素的字节数组值大端表示;相当于 ByteBuffer.allocate(2).putChar(value).array(). |
方法继承
这个类从以下类继承的方法:
java.lang.Object
Chars 例子
选择使用任何编辑器创建以下java程序在 C:/> Guava
GuavaTester.java
import java.util.List; import com.google.common.primitives.Chars; public class GuavaTester { public static void main(String args[]){ GuavaTester tester = new GuavaTester(); tester.testChars(); } private void testChars(){ char[] charArray = {'a','b','c','d','e','f','g','h'}; //convert array of primitives to array of objects List<Character> objectArray = Chars.asList(charArray); System.out.println(objectArray.toString()); //convert array of objects to array of primitives charArray = Chars.toArray(objectArray); System.out.print("[ "); for(int i = 0; i< charArray.length ; i++){ System.out.print(charArray[i] + " "); } System.out.println("]"); //check if element is present in the list of primitives or not System.out.println("c is in list? "+ Chars.contains(charArray, 'c')); //return the index of element System.out.println("c position in list "+ Chars.indexOf(charArray, 'c')); //Returns the minimum System.out.println("Min: " + Chars.min(charArray)); //Returns the maximum System.out.println("Max: " + Chars.max(charArray)); } }
验证结果
使用javac编译器编译如下类
C:\Guava>javac GuavaTester.java
现在运行GuavaTester看到的结果
C:\Guava>java GuavaTester
看到结果。
[a, b, c, d, e, f, g, h] [ a b c d e f g h ] c is in list? true c position in list 2 Min: a Max: h
相关问答
更多-
使用两种不同类型的Guava ListenableFutures的结果(Use the results of two Guava ListenableFutures of different types)[2022-03-23]
Runnable listener = new Runnable() { private boolean jobDone = false; @Override public synchronized void run() { if (jobDone || !(future1.isDone() && future2.isDone())) { return; } jobDone = true; // ... -
为什么Guava不为小的ImmutableLists使用专门的类?(Why does Guava not use specialized classes for small ImmutableLists?)[2022-06-01]
你能帮我理解这里涉及的权衡吗? 这是一个权衡: 性能 - 不分配临时数组可以节省成本。 但是,人们需要进行一些广泛的代码分析和基准测试来量化这种节省。 (我怀疑在大多数应用程序中它都是微不足道的。请阅读@Voo提供的这个链接 !) 可读性 - 拥有一堆额外的重载会使javadoc混乱。 可维护性 - 有一堆重载是以不需要临时对象的方式实现的,这需要大量的复制/粘贴编程,这使得将来的代码维护更加困难。 实用程序 - 这些重载的使用频率是多少? 我希望答案“很少”。 字节码占用空间 - 这些额外的重载将导致使用 ... -
您需要在每次调用时在同一个RateLimiter上调用acquire() ,例如,通过在performOperation()使其可用: public class RateLimiterTest { public static void main(String[] args) { RateLimiter limiter = RateLimiter.create(1.0); for (int i = 0; i < 10; i++) { perfor ...
-
将一个新的“窥视”概念引入到一个已经很容易在两个方向上滚动的迭代器的价值在哪里? 如果你真的想要它,你可以实现两个简单的静态助手: public static
T peekNext(ListIterator iterator) { T next = iterator.next(); iterator.previous(); return next; } public static T peekPrevious(ListIterator iterator) { T ... -
番石榴的IntervalTree(IntervalTree in Guava)[2022-12-17]
Guava没有提供这个,尽管你可以通过找到给定点之前和之后的第一个范围来在RangeSet之上构建这样的东西。 但一般来说,除了类型的比较排序之外,Guava Range对距离,度量或任何其他内容一无所知 。 他们不知道10比15更接近11 。 Guava doesn't provide this, though you might be able to build such a thing on top of a RangeSet by finding the first range before and ... -
番石榴,gwt和eclipse(guava, gwt and eclipse)[2022-12-21]
好的,看看你的进口线。 它看起来像这样吗? import com.google.gwt.thirdparty.guava.common.base.Predicate; 那是错的。 将其更改为: import com.google.common.base.Predicate; 如果您在Eclipse中使用完成辅助 - 控制空格键 - 请研究提供的完成列表。 不要只选择第一个。 向右看,它将以浅灰色文本标识完成源。 如果您正在查看thirdparty.guava,请转到下一个,直到您看到google.com ... -
Guava wiki提供了以下使用ValueGraph示例: MutableValueGraph
weightedGraph = ValueGraphBuilder.directed().build(); weightedGraph.addNode(1); weightedGraph.putEdgeValue(2, 3, 1.5); // also adds nodes 2 and 3 if not already present weightedGraph.putEdg ... -
因为你对com.google.guava:guava:23.3 org.seleniumhq.selenium:selenium-java:3.0.1依赖性com.google.guava:guava:23.3使用org.seleniumhq.selenium:selenium-java:3.0.1可能会让你在十字路口。 但是Selenium发行说明清楚地提到了以下番石榴依赖性: Selenium v2.49.0 :Bump guava到19版 Selenium v3.1.0 :需要更新最新的番石榴版本21 ...
-
从番石榴自己的解释来看,你必须使用Throwable ,是的。 这是他们的示例代码段: public void foo() throws IOException { Closer closer = Closer.create(); try { InputStream in = closer.register(openInputStream()); OutputStream out = closer.register(openOutputStream()); // do stu ...
-
AbstractScheduledServiced实现Service 。 Service接口描述了生命周期方法,包括startAsync 。 ServiceState枚举文字包含有关其含义的文档。 处于NEW状态的服务(刚刚创建): 处于此状态的服务处于非活动状态。 它做的工作量极少,占用资源极少。 要使服务执行某些有用的操作,您必须将其转换为RUNNING状态 此状态下的服务正在运行。 这就是为什么你必须在它做任何事之前启动服务的原因。 我还建议不要从构造函数中调用startAsync,而是从创建MySe ...