我在调用Journal
方法时遇到问题而且我的代码没有按照正确的格式进行操作,这就是我试图调用它的方式。
<v-btn
type="submit"
data-test="btn-identity"
block
large
:disabled="!validEmail"
color="primary">{{ $t('button.identity') }}
</v-btn>
<v-text-field
v-validate="'required|email'"
v-model="form.userId"
:label="$t('placeholder.userId')"
:error-messages="errors.collect('email')"
data-vv-name="email"
required
autofocus
/>
watch: {
"form.userId": function (newId, oldId) {
this.$validator.validateAll().then((result) => {
this.validEmail = result; // use a separate method to set validEmail here
})
}
},
这是我要将其格式化为的toString:
toString
有没有更好的方法来调用它,以便打印出正确的输出?
正确的格式应该是[a,b,c,d],但我得到的只是[abcd]。
编辑,添加到String方法
答案 0 :(得分:1)
如果您尝试使用str
中逗号之间的值作为推送到queue
的值,那么您不需要调用toString()。
这对你有用吗?
public static void loadQueue(Queue<String> queue, String str) {
if (null == queue) throw new IllegalArgumentException("Expected non-null queue");
if (null == str) throw new IllegalArgumentException("Expected non-null str");
String elementArray[] = str.split(",");
for(int i = 0; i < elementArray.length; i++){
queue.push(elementArray[i]);
}
}
答案 1 :(得分:1)
我无法判断你的toString覆盖哪个类,但它不会出现在字符串或队列中。
Queue.toString
可能不是你想要的。是否有某些原因要覆盖toString而不是仅使用其他名称的方法?
技术#1 将所有方法放在现有的类
中public String queueToString(Queue<String> queue) {
String str = "[ ";
if ( !isEmpty() ) {
for (int i = 0; i < queue.length - 1; i++){
str += queue[i] + ", ";
}
str += queue[queue.length - 1] + " ";
}
str += "]";
return str;
}
...
public static void loadQueue(Queue<String> queue, String str) {
String elementArray[] = str.split(",");
for(int i = 0; i < elementArray.length; i++){
queue.push(elementArray[i]);
}
System.out.println( queueToString(queue) );
}
技术#2 为队列创建自定义类并修改行为。
public class MyStringQueue extends Queue<String>
{
@Override
/* override the toString method here */
}
...
/* in your class, create an use a MyStringQueue instead of Queue<String> */
public static void loadQueue(MyStringQueue queue, String str) {
String elementArray[] = str.split(",");
for(int i = 0; i < elementArray.length; i++){
queue.push(elementArray[i]);
}
System.out.println( queue.toString() );
}
答案 2 :(得分:-1)
我让它上班但我必须做以下事情:
public static void loadQueue(Queue<String> queue, String str) {
for(int i = 0; i < str.length(); i++){
queue.push(Character.toString(str.charAt(i)));
}
有没有更好的解释为什么这有效,但我的其他方法呢?