开源项目

相关文章

更多

最近更新

更多

Guava ASCII字符转换 CaseFormat类

2019-04-23 23:13|来源: 网路

CaseFormat是一种实用工具类,以提供不同的ASCII字符格式之间的转换。

类声明

以下是com.google.common.base.CaseFormat类的声明:

@GwtCompatible
public enum CaseFormat
   extends Enum<CaseFormat>

枚举常量

S.N. 枚举常量和说明
1 LOWER_CAMEL
Java变量的命名规则,如“lowerCamel”。
2 LOWER_HYPHEN
连字符连接变量的命名规则,如“lower-hyphen”。
3 LOWER_UNDERSCORE
C ++变量命名规则,如“lower_underscore”。
4 UPPER_CAMEL
Java和C++类的命名规则,如“UpperCamel”。
5 UPPER_UNDERSCORE
Java和C++常量的命名规则,如“UPPER_UNDERSCORE”。

方法

S.N. 方法及说明
1 Converter<String,String> converterTo(CaseFormat targetFormat)
返回一个转换,从这个格式转换targetFormat字符串。
2 String to(CaseFormat format, String str)
从这一格式指定格式的指定字符串 str 转换。
3 static CaseFormat valueOf(String name)
返回此类型具有指定名称的枚举常量。
4 static CaseFormat[] values()
返回一个包含该枚举类型的常量数组中的顺序被声明。

继承的方法

这个类继承了以下类方法:

  • java.lang.Enum

  • java.lang.Object

CaseFormat 示例

使用所选择的编辑器创建下面的java程序 C:/> Guava

GuavaTester.java

import com.google.common.base.CaseFormat;

public class GuavaTester {
   public static void main(String args[]){
      GuavaTester tester = new GuavaTester();
      tester.testCaseFormat();
   }

   private void testCaseFormat(){
      String data = "test_data";
      System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data"));
      System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data"));
      System.out.println(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data"));
   }
}

验证结果

使用javac编译器编译如下类

C:\Guava>javac GuavaTester.java

现在运行GuavaTester看到的结果

C:\Guava>java GuavaTester

看到结果。

testData
testData
TestData


相关问答

更多

像Guava Splitter一样快速搜索大型CSV(Search in large CSV as fast as Guava Splitter)

首先,番石榴不仅仅是Splitter , Predicate和Function - 你可能没有使用它提供的一切; 我们使用它硬核,只是听到让我颤抖。 无论如何,你的测试都被打破了 - 可能有很多种方式。 我使用JMH测试这两种方法只是为了它的乐趣: @BenchmarkMode(org.openjdk.jmh.annotations.Mode.AverageTime) @OutputTimeUnit(TimeUnit.NANOSECONDS) @Warmup(itera ...

为什么Guava不为小的ImmutableLists使用专门的类?(Why does Guava not use specialized classes for small ImmutableLists?)

你能帮我理解这里涉及的权衡吗? 这是一个权衡: 性能 - 不分配临时数组可以节省成本。 但是,人们需要进行一些广泛的代码分析和基准测试来量化这种节省。 (我怀疑在大多数应用程序中它都是微不足道的。请阅读@Voo提供的这个链接 !) 可读性 - 拥有一堆额外的重载会使javadoc混乱。 可维护性 - 有一堆重载是以不需要临时对象的方式实现的,这需要大量的复制/粘贴编程,这使得将来的代码维护更加困难。 实用程序 - 这些重载的使用频率是多少? 我希望答案“很少”。 字节码占用空间 - 这些额外的重载 ...

使用Guava的ComparisonChain比较包含罗马数字的字符串(Using Guava's ComparisonChain to compare strings containing roman numbers)

ComparisonChain每个compare方法返回一个ComparisonChain ,它不一定是调用比较的链。 第一个片段不会忽略结果(因此是正确的),但第二个片段忽略结果,因此不正确。 如果确实如此,那将是正确的: comparisionChain = comparisionChain.compare(...).compare(...); 有关源代码,请参阅http://docs.guava-libraries.googlecode.com/git-history/v10.0.1/ja ...

如何在另一个List 中使用Guava,List 和List 进行转换?(How to transform with Guava, a List and List in another List? [duplicate])

您正在寻找的是zip函数,它是函数式语言的领域。 Guava库中没有这样的功能,但您可以在Functional Java中找到它。 相关问题: 是否有一个被接受的Java等同于Python的zip()? Google Guava“zip”两个列表 What you are looking for is the zip function which is the territory of functional languages. There is no such function in the G ...

在guava的AbstractService类中实现stop()(stop() implementation in guava's AbstractService class)

在RUNNING状态下调用stop()时,状态将更改为STOPPING并doStop()方法。 之后再次调用stop()不应该做任何事情。 doStop()实现应该调用notifyStopped() ,它将状态从STOPPING更改为TERMINATED 。 When you call stop() in the RUNNING state, the state is changed to STOPPING and the doStop() method gets called. Calling ...

Guava ValueGraph的简单示例(Simple example of Guava ValueGraph)

Guava wiki提供了以下使用ValueGraph示例: MutableValueGraph<Integer, Double> weightedGraph = ValueGraphBuilder.directed().build(); weightedGraph.addNode(1); weightedGraph.putEdgeValue(2, 3, 1.5); // also adds nodes 2 and 3 if not already present weightedGraph.p ...

Guava,Objects / MoreObjects重载以避免自动装箱。(Guava, Objects/MoreObjects overloading to avoid autoboxing.)

我犹豫要把这个作为答案,因为它是猜测番石榴语言设计师。 他们或许可以给你一个明确的答案,但这是我所猜测的: 在有效Java第二版的“保守政策”之前不久就是声明: 避免混淆使用重载 然后它继续说 对于一些争论,究竟是什么构成了令人困惑的重载使用 我认为这不是一个令人困惑的重载使用。 我声称这是因为类的逻辑行为与它简单实现为: public ToStringHelper add(String name, @Nullable Object value) // No primitive overloads ...

不兼容的库版本selenium / guava(Incompatible library version selenium / guava)

因为你对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 :需要更新最新的番石 ...

使用guava AbstractScheduledService(Using guava AbstractScheduledService)

AbstractScheduledServiced实现Service 。 Service接口描述了生命周期方法,包括startAsync 。 ServiceState枚举文字包含有关其含义的文档。 处于NEW状态的服务(刚刚创建): 处于此状态的服务处于非活动状态。 它做的工作量极少,占用资源极少。 要使服务执行某些有用的操作,您必须将其转换为RUNNING状态 此状态下的服务正在运行。 这就是为什么你必须在它做任何事之前启动服务的原因。 我还建议不要从构造函数中调用startAsync,而是从创 ...

Guava Transform Map > to List (Guava Transform Map> to List)

使用番石榴名单 : List<TargetObject> resultList = Lists.transform(source.entrySet(), new Function<Entry<Integer, List<Integer>>, TargetObject>(){...}); Use Guava Lists: List<TargetObject> resultList = Lists.transform(source.entrySet(), new Function<E ...