当前位置: 首页 > 面试题库 >

在String.format(Java)中使用“%1 $#”是什么意思?

郭洋
2023-03-14
问题内容

语言是Java。%1$#在…中是什么意思

static String padright (String str, int num) {
   return String.format("%1$#" + num + "str", str);
}

在Java API中,String.format()以这种方式使用:

public static String format(String format, Object... args)

所以我认为%1$#格式说明符。

%[flags][width][.precision][argsize]typechar 是模板。

  • 1是一个标志?
  • $是宽度?
  • #是精度吗?
  • num是argsize吗?
  • “ str”是typechar吗?

那正确吗?


问题答案:

模板:

%[argument_index$][flags][width][.precision]conversion

可选的arguments_index是一个十进制整数,指示参数在参数列表中的位置。第一个参数由“ 1 $”引用,第二个参数由“ 2 $”等等。

可选标志是一组修改输出格式的字符。有效标志集取决于转换。

可选宽度是一个十进制整数,指示要写入输出的最小字符数。

可选精度是一个非负十进制整数,通常用于限制字符数。具体行为取决于转换。

所需的转换是一个字符,指示应如何格式化参数。给定参数的有效转换集取决于参数的数据类型。

%1$指第一个替换。在这种情况下,字符串str#是标志,表示结果应使用与转换有关的替代形式。

http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html



 类似资料:
  • 问题内容: 我已经看到了声明,接口和类 这是什么意思? 问题答案: 没有证据,我相信您在谈论Java的泛型支持… 泛型允许您抽象类型 在Java 5之前,很难提供能够支持多种不同类型的Objects的类而不必为每种特定情况编写代码,因此人们通常会这样做。 这导致在运行时做出许多困难的选择,您必须进行运行时检查以查看是否有可能将给定的Object强制转换为可用类型…例如 现在,这已经很明显了,但是如

  • 我发现这段代码是为了在SO post中找到重复的代码。但我不明白这行是什么意思

  • 问题内容: 我们都知道,柔性属性是一个速记,和属性。其默认值为。它的意思是: 但我注意到,在很多地方都使用过。是速记还是?我不明白这是什么意思?我在谷歌搜索中找不到任何东西。 问题答案: 这里是解释: flex: 等同于flex:10。使flex项目具有弹性,并将flex基础设置为零,从而使该项目接收flex容器中指定比例的可用空间。如果flex容器中的所有项目都使用此模式,则它们的大小将与指定的

  • 问题内容: 我正在学习上面的代码,它告诉我什么是自省者和什么是stopClass。但是我不明白这是什么意思?`for (PropertyDescriptor prop props) for(i=0;i<100;i++)` 有人可以帮忙进一步解释吗?谢谢! 问题答案: 这就是 Java 5中引入的每种循环语法。

  • 问题内容: 我的问题如上所述。抱歉,可能是重复的,但最后找不到一个示例。 为什么不只使用它作为参数? 问题答案: 是可参数化的类,因此可以使用where 类型的语法。通过编写,您可以声明一个可以是任何类型的对象(是通配符)。该类型是包含类元信息的类型。 通过指定特定类型来引用泛型类型始终是一种好习惯,这是通过尊重您的习惯(您知道可参数化的)来使用的,但并不限制参数具有特定类型。 有关泛型和通配符的

  • 问题内容: 我有一个程序试图缩小到所需的数量。我得到的输出是。 在Java 中是什么意思? 问题答案: “ NaN”代表“不是数字”。如果浮点运算具有一些输入参数,导致该运算产生一些未定义的结果,则会生成“ Nan”。例如,0.0除以0.0在算术上是不确定的。负数的平方根也是不确定的。