java吧 关注:1,287,594贴子:12,813,148
  • 10回复贴,共1

为什么String 类里面不添加这个方法

取消只看楼主收藏回复



1楼2018-03-30 11:02回复
    首先我知道有toString 方法
    但是 新手也好 老鸟也好 用的比较多的就是System.out.printf吧


    2楼2018-03-30 11:03
    收起回复
      2025-11-16 13:28:12
      广告
      不感兴趣
      开通SVIP免广告
      我也知道有logger 但是 做比较小的值的确认 好像还是得用system.out.printf


      3楼2018-03-30 11:05
      收起回复
        为什么String类中不加个toprintln()
        然后
        model.getName().toprintln();


        4楼2018-03-30 11:27
        回复
          我不知道你们写没写过
          Student s = new Student()
          s.setName("xxx");
          s.setAge(10);
          当你想打印的时候怎么办
          打印对象 System.out.println(s);
          打印值的时候System.out.println(s.getName()+s.getAge());
          System.out.println(s.getName());
          或者规范一些方便之后调用
          Stirng name = s.getName();
          int age = s.getAge();
          System.out.println(name);
          System.out.prinln(age);
          让我看toString nigaomao
          那么如果在Object 类 添加新的print方法 在其他需要的类中都添加了print的实现 (类似于toStirng方法 只是改成void 并且方法体中 加入System.out.printf( 内容))
          我想打印的时候
          以上面的距离子
          我想输出对象 s.prinf()
          我想输出age s.getAge().prinf();
          直接.出来
          从此告别System.out.printf() 并且不用吧代码复制到 print() 括号中
          各位觉得不实用吗


          8楼2018-03-30 14:51
          收起回复
            算了 自己动手改JDK 文件替换下试试


            10楼2018-03-30 15:05
            收起回复
              mlg爪子的 刚才一查 JVM对基础类都做了安全检测 不能随便改源码


              13楼2018-03-30 15:30
              回复
                定义接口
                public interface MyObject {
                void toPrintf();
                }
                //定义模型类
                public class Model implements MyObject{
                private String name;
                private String age;
                public String getName() {
                return name;
                }
                public void setName(String name) {
                this.name = name;
                }
                public String getAge() {
                return age;
                }
                public void setAge(String age) {
                this.age = age;
                }
                @Override
                public void toPrintf() {
                // TODO Auto-generated method stub
                System.out.println("Demo1 [name=" + name + ", age=" + age + "]");
                }
                }
                String 是不可修改的 但是如果再里面也是这么定义 那么字段直接可以.toPrint()


                16楼2018-03-30 16:06
                回复
                  2025-11-16 13:22:12
                  广告
                  不感兴趣
                  开通SVIP免广告
                  public class Demo1 {
                  public static void main(String[] args) {
                  Model model = new Model();
                  model .setAge("小明");
                  model.setName("10");
                  model.toPrintf();
                  }
                  }
                  输出结果
                  Demo1 [name=10, age=小明]


                  17楼2018-03-30 16:08
                  回复
                    刚才那个兄弟 , 不小心删错了 。
                    一句话 toStirng ()怎么办 toPrintf()怎么办


                    20楼2018-03-30 16:13
                    回复
                      每次写 System.out.println();就很烦
                      还得吧数据复制到括号里 要不就是自己鼠标点过去然后自己写
                      有时候不是多个)就是多个;


                      28楼2018-03-30 17:01
                      收起回复